Как я могу написать специальный параметр ValidationAttribute, который сравнивает два поля? Это общий сценарий "ввести пароль", "подтвердить пароль". Я должен быть уверен, что два поля равны, и чтобы все было согласовано, я хочу реализовать проверку с помощью DataAnnotations.
Итак, в псевдокоде я ищу способ реализовать что-то вроде следующего:
public class SignUpModel
{
[Required]
[Display(Name = "Password")]
public string Password { get; set; }
[Required]
[Display(Name = "Re-type Password")]
[Compare(CompareField = Password, ErrorMessage = "Passwords do not match")]
public string PasswordConfirm { get; set; }
}
public class CompareAttribute : ValidationAttribute
{
public CompareAttribute(object propertyToCompare)
{
// ??
}
public override bool IsValid(object value)
{
// ??
}
}
Итак, вопрос в том, как мне закодировать [Compare] ValidationAttribute?