Проверка пароля в Asp.Net Identity 2 - PullRequest
0 голосов
/ 17 декабря 2018

Формат пароля для моего приложения реализован в IdentityConfig.cs, как показано ниже:

manager.PasswordValidator = new PasswordValidator
{
    RequiredLength = 6,
    RequireNonLetterOrDigit = true,
    RequireDigit = true,
    RequireLowercase = true,
    RequireUppercase = true,
};

Тем не менее, сообщение о проверке имеет следующий вид: «Пароли должны содержать хотя бы один не буквенный или цифровой символ», который не являетсяэто понятно большинству пользователей.

Я хотел изменить его, поэтому я добавил пользовательскую проверку следующим образом:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class PasswordAttribute : ValidationAttribute
{
    public override string FormatErrorMessage(string name)
    {
        return "The password should be a combination of upper case, lower case letters, digits and special characters";
    }
    public override bool IsValid(object value)
    {
        if (value == null) return false;

        if (value.ToString().Length == 8)
            return true;
        else
            return false;
    }
}

Я также ссылался на эту проверку в модели следующим образом:

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

Однако сообщение о проверке пароля остается прежним.Чего мне не хватает?Как изменить сообщение проверки по умолчанию для поля пароля?

Есть ли способ изменить сообщение проверки в IdentityConfig.cs?

...