none
Validacion Codigo de Paises RRS feed

  • Pregunta

  • Hola

    Estoy haciendo una validación en un input y con un boton de busqueda, y debe tenerse en cuenta lo siguiente

    1. que sea campo requerido

    2. que sean 3 y únicamente 3 los caracteres ingresados

    3. que sean solo letras.

    para esto he realizado el siguiente código:

    @Html.TextBox("txtBusqueda", null , new { @maxlength = "3", @required = "required", @pattern = @"^[a-z]{2}-[A-Z]{2}$",
           @oninvalid = "this.setCustomValidity('Ingrese Un código País')", @oninput = "setCustomValidity('')"})

    Realiza las validaciones pero al momento de ingresar un código valido me ejecuta la acción "ingrese un codigo país"

    alguna sugerencia?

    pd:

    la idea es que no se utilice javascript ni jquery solo html.... AH POR ULTIMO SE DEBE USAR Razor!!!!

    toda validación debe ser del lado del servidor.



    • Editado greg_dorian domingo, 11 de agosto de 2019 19:07
    domingo, 11 de agosto de 2019 19:05

Respuestas

  • Buenas noches greg

    Varias cosas, en primer lugar, la validación que has planteado se ejecuta en cliente, si quieres validar del lado del servidor, debes exponer una acción en tu controlador y añadir el código de validación allí si quieres hacer la validación en tiempo real, o añadir la comprobación a la acción y retornar el error al hacer post. Te dejo enlaces para ambos casos:

    Validación en el post

    Validación en "tiempo real"

    De cualquiera de esas 2 maneras vas a hacer que la validación sea en el servidor y no en cliente (insisto, ahora SÍ es en cliente).

    Para el tema de que falle, el problema lo tienes en el regex, con el que has puesto estas esperando que el código sean CINCO caracteres: 2 letras minúsculas, 1 guión y 2 letras mayúsculas.

    Para lo que tu dices, tendrías que hacer algo así:

    "^[a-zA-Z]{3}$"

    Con eso, vas a buscar cualquier letra en mayúscula o minúscula, y tienen que ser 3 de inicio a fin del string

    Si tienes dudas sobre tus regex, puedes utilizar paginas como https://regexr.com para poder probar online si funcionan

    Espero haber resuelto tus dudas

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog

    Ranking GitHub Euskadi

    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.



    domingo, 11 de agosto de 2019 20:46