none
Estoy con el registro de usuarios en asp.net mvc5 pero no consigo hacer la validacion bien RRS feed

  • Pregunta

  • A ver el proyecto que le estoy metiendo mano es este concretamente, yo considero que para poder ayudar a alguien al menos bajarse el proyecto y probarlo hay que hacerlo, ya se que es algoi tedioso algunas veces hacerlo, pero fundamental.

    https://github.com/onzulinapps/RestService-asp.net

    Bueno os lo descargais y probais, a poner por ej un correo valido, vuestro user@dominio.com o .es y la clave por ej orororor

    y os va a salir una validacion que no encuentro dentro del codigo, eos es justo lo que intento entender ¿donde esta? en RegisterViewModel no esta que es donde mira segun el codigo las validaciones desde el lado del servidor, saludos.


    lunes, 2 de marzo de 2015 12:40

Respuestas

  •     public class RegisterViewModel
        {
            [Required]
            [EmailAddress]
            [Display(Name = "Correo electrónico")]
            public string Email { get; set; }
    
            [Required]
            [StringLength(100, ErrorMessage = "El número de caracteres de {0} debe ser al menos {2}.", MinimumLength = 6)]
            [DataType(DataType.Password)]
            [Display(Name = "Contraseña")]
            public string Password { get; set; }
    
            [DataType(DataType.Password)]
            [Display(Name = "Confirmar contraseña")]
            [Compare("Password", ErrorMessage = "La contraseña y la contraseña de confirmación no coinciden.")]
            public string ConfirmPassword { get; set; }
        }

    Esta clase puedes observar que por ejemplo la propiedad Email está decorada con un atributo [Required]

    Si observas la implementación de dicho atributo en http://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/RequiredAttribute.cs,e7054544e1acadcb

    En el constructor se puede ver que se emplea un Resource 

    DataAnnotationsResources.RequiredAttribute_ValidationError

    cuyo contenido puedes ver si pulsas en RequiredAttribute_ValidationError.

    internal static string RequiredAttribute_ValidationError {
    
         get {
              return ResourceManager.GetString("RequiredAttribute_ValidationError", resourceCulture);
         }
    }
    

    Es decir, que se está empleando un manejador de recusros por defecto que muestra mensajes multiidiomados.

    Podrías establecer su propio mensaje de esta forma en tu RegisterViewModel

    [Required(ErrorMessage="ESTO ES UNA PRUEBA DE VALIDACION")]
    


     


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    • Marcado como respuesta onzulinapps martes, 3 de marzo de 2015 11:52
    martes, 3 de marzo de 2015 11:21
    Moderador

Todas las respuestas

  • La prueba dónde se aplicaría al registrar un usuario o al realizar el login?

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 2 de marzo de 2015 14:57
    Moderador
  • Bueno lo mismo no me explico bien cuando pregunto pero vamos creo que queda claro que lo que estoy buscando es saber como funciona exactamente el tema de las validaciones y yo creo que mas bien por defecto viene bastante restrictivo en el lado del servidor, aqui he encontrado un tutorial que me lo han pasado por aqui

    http://www.codeproject.com/Articles/710702/ASP-NET-MVC-Server-Side-Validation

    Pero claro yo lo que quiero saber independientemente del objeto RegisterViewModel que se encuentra dentro del fichero AccountViewModel acabo de ver el fichero identityconfig dentro de app_start que son validaciones dentro del servidor, yo me referia concretamente a estas

    // Configure la lógica de validación de contraseñas
                manager.PasswordValidator = new PasswordValidator
                {
                    RequiredLength = 6,
                    RequireNonLetterOrDigit = true,
                    RequireDigit = true,
                    RequireLowercase = true,
                    RequireUppercase = true,
                };

    que las he encontrado de casualidad, aun asi los mensajes si no se cumplen esas validaciones ¿donde se encuentran? saludos.

    martes, 3 de marzo de 2015 10:08
  •     public class RegisterViewModel
        {
            [Required]
            [EmailAddress]
            [Display(Name = "Correo electrónico")]
            public string Email { get; set; }
    
            [Required]
            [StringLength(100, ErrorMessage = "El número de caracteres de {0} debe ser al menos {2}.", MinimumLength = 6)]
            [DataType(DataType.Password)]
            [Display(Name = "Contraseña")]
            public string Password { get; set; }
    
            [DataType(DataType.Password)]
            [Display(Name = "Confirmar contraseña")]
            [Compare("Password", ErrorMessage = "La contraseña y la contraseña de confirmación no coinciden.")]
            public string ConfirmPassword { get; set; }
        }

    Esta clase puedes observar que por ejemplo la propiedad Email está decorada con un atributo [Required]

    Si observas la implementación de dicho atributo en http://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/RequiredAttribute.cs,e7054544e1acadcb

    En el constructor se puede ver que se emplea un Resource 

    DataAnnotationsResources.RequiredAttribute_ValidationError

    cuyo contenido puedes ver si pulsas en RequiredAttribute_ValidationError.

    internal static string RequiredAttribute_ValidationError {
    
         get {
              return ResourceManager.GetString("RequiredAttribute_ValidationError", resourceCulture);
         }
    }
    

    Es decir, que se está empleando un manejador de recusros por defecto que muestra mensajes multiidiomados.

    Podrías establecer su propio mensaje de esta forma en tu RegisterViewModel

    [Required(ErrorMessage="ESTO ES UNA PRUEBA DE VALIDACION")]
    


     


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    • Marcado como respuesta onzulinapps martes, 3 de marzo de 2015 11:52
    martes, 3 de marzo de 2015 11:21
    Moderador