2012-01-02 28 views
12

Duplicar posibles:
Password validation (regex?)contraseña DataAnnotation en ASP.NET MVC 3

estoy trabajando en asp.net aplicación MVC 3 y he aplicado

[Required] 
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

DataAnnotation a mi campo Contraseña. Quiero asegurarme de que la contraseña debe tener al menos 6 caracteres, no más de 18 caracteres, y debe incluir al menos una letra mayúscula, una letra minúscula y un dígito numérico. ¿Debo agregar expresiones regulares o DataType.password hará todo esto?

Para sugerir

+2

¿Cómo se relaciona esto con el marco de la entidad? –

+1

No relacionado con Entity Framework – IamStalker

Respuesta

24

Debe escribir exactamente lo que quiere. Escribe esto:

[Required] 
[StringLength(18, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
[RegularExpression(@"^((?=.*[a-z])(?=.*[A-Z])(?=.*\d)).+$)"] 
[DataType(DataType.Password)] 
[Display(Name = "Password")] 
public string Password { get; set; } 
+0

Lo probé pero obteniendo: analizando "^ (? =. * [Az]) (? =. * [AZ]) (? =. * \ D)). + $" - Demasiados) 's. –

+1

Lo siento, echo de menos '('. Intente esto: "^ ((? =. * [Az]) (? =. * [AZ]) (? =. * \ D)). + $" – Hadas

+2

@Hadas en lugar de comentarios, actualice su respuesta original –