mvc dataannotation regularexpression - PullRequest
       6

mvc dataannotation regularexpression

0 голосов
/ 22 июня 2011

Я только начал возиться с регулярными выражениями, но в основном с этим (который я нашел в Интернете, кстати), как предполагается, требуется, чтобы пароль был между 8 - 10, но всякий раз, когда я пробую его и введу правильную длину, этовсе еще показывает сообщение об ошибке.есть идеи?мне также нужно включить в проверки 1 строчную, 1 прописную и 1 цифру ..

public class password : IValidatableObject
{
    [Required]
    [RegularExpression("(?=^.{8,10}$)", ErrorMessage = "Password is invalid.")]
    public string ConfirmPWD { get; set; }
    [Required(ErrorMessage="Confirm Password field is required.")]
    public string ConfirmPWD { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (ConfirmPWD != ConfirmPWD )
            yield return new ValidationResult("Not identical.");
    }
}

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Вы, вероятно, хотите что-то вроде этого:

[RegularExpression(@"^.{8,10}$", ErrorMessage = "Must be between 8 and 10 characters.")]

0 голосов
/ 22 июня 2011

попробуйте просто ".{8,10}".Кроме того, более конкретные сообщения об ошибках могут быть полезны для ваших пользователей.

Редактировать: подумайте, почему бы не использовать StringLengthAttribute для этого ...

[StringLength(10, MinLength = 8, ErrorMessage = "Password must be between 8 and 10 characters")]

тогда вы можете использовать регулярные выражения для ваших более конкретных правил, таких как требуемая сложность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...