You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
using System.Text.RegularExpressions;
|
|
|
|
namespace Business.KftcPasswordRule
|
|
{
|
|
/// <summary>
|
|
/// </summary>
|
|
public class AtLeastSpecialCharRule : PasswordRule
|
|
{
|
|
private string pattern = "[!@#$%^&*()]";
|
|
|
|
/// <summary>
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public PasswordValidationResult Validate(ValidationModel model)
|
|
{
|
|
if (model == null)
|
|
{
|
|
return new PasswordValidationResult { IsValid = false, Message = "invalid password.Atleast one special character required." };
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(model.Password))
|
|
{
|
|
return new PasswordValidationResult { IsValid = false, Message = "invalid password.Atleast one special character required." };
|
|
}
|
|
var res = Regex.Matches(model.Password, pattern);
|
|
if (res.Count > 0)
|
|
{
|
|
return new PasswordValidationResult { IsValid = true, Message = "valid" };
|
|
}
|
|
return new PasswordValidationResult { IsValid = false, Message = "invalid password.Atleast one special character required." };
|
|
}
|
|
}
|
|
}
|