using System.Text.RegularExpressions;
namespace Business.KftcPasswordRule
{
///
///
public class PatternMatchRule : PasswordRule
{
private string pattern = @"^(?=.*\d)(?=.*[A-Z]).{9,30}$";
///
///
///
///
public PasswordValidationResult Validate(ValidationModel model)
{
if (model == null)
{
return new PasswordValidationResult { IsValid = false, Message = "invalid password." };
}
if (string.IsNullOrEmpty(model.Password))
{
return new PasswordValidationResult { IsValid = false, Message = "invalid password." };
}
var res = Regex.IsMatch(model.Password, pattern);
if (!res.Equals(true))
{
return new PasswordValidationResult { IsValid = false, Message = "invalid password" };
}
Regex r = new Regex(@"[~`!@#$%^&*()-+=|\{}':;.,<>/?]");
if (!r.IsMatch(model.Password))
{
return new PasswordValidationResult { IsValid = false, Message = "invalid password.Pattern mismatch." };
}
return new PasswordValidationResult { IsValid = true, Message = "valid" };
}
}
}