Monday, June 01, 2015

MVC data annotation on Password field

Below is the cheat sheet for the password field:


       
[Required]
[StringLength(255, MinimumLength=8)]
[DataType(DataType.Password)]
[RegularExpression(@"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\da-zA-Z])(.{8,15})$", ErrorMessage = "Password must contain at least 1 number, 1 uppercase letter, and 1 special character.")]
public string Password { get; set; }

 

^                   #Beginning of expression
(?=.*\d)            #At least one digit
(?=.*[a-z])         #At least one lower case
(?=.*[A-Z])         #At least one upper case
(?=.*[^\da-zA-Z])   #A non-alphanumeric character
(.{8,15})           #Allow between 8 and 15 characters
$                   #End of expression

Good website to find a starting point for Regular Expression:  http://regexlib.com/

2 comments:

Mike James said...

Hi, the [RegularExpression] attribute in your (very nice) sample is missing the closing square bracket.

Mike James said...
This comment has been removed by the author.