为ValidationContext中的每个属性设置ValidationMessage

时间:2015-01-18 22:25:57

标签: c# asp.net-mvc validation attributes

如果需要在整个类上应用验证属性,例如:

[PasswordCheck]
public class PasswordModel{
    public String OldPass{get; set;}
    public String NewPass {get; set;}
    public String NewPassConfirm {get; set;}
}

如何使用ValidationContext为类的每个成员设置ValidationMessages,例如:

public class PasswordCheckAttribute: ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        PasswordModel Model = (PasswordModel)value;
        if (!Model.NewPass.Equals(Model.NewPassConfirm)) {
            return new ValidationResult("Entered new password is not valid.");
        }
        return null;
    }
}

上面的示例没有为每个特定属性设置特定ValidationMessage。我所追求的是为ValidationMessage设置:

 NewPass
 NewPassConfirm

我确定可以使用ValidationContext参数但不确定具体如何。欣赏任何指导方针。

0 个答案:

没有答案