我有一个部分看起来像这样的viewmodel ......
[Required]
public int Year { get; set; }
[Required]
[Range(1, 5000000)]
public int ModelID { get; set; }
[Required]
public int ZipCode{ get; set;}
我想添加一个自定义验证器属性,用于检查数据库以确保Zip有效。有点像...
[Required]
[IsValidZipcode]
public int ZipCode{ get; set;}
我无法在网上找到教程 - 我不认为我知道要搜索什么,因为这似乎很常见。
我应该怎么做?
答案 0 :(得分:4)
只需创建一个继承自ValidationAttribute类的类,然后使用IsValid方法:
public class IsValidZipCode: ValidationAttribute
{
public override bool IsValid(object value)
{
return db.ValidateSomething(value);
}
}
然后你很高兴:
[IsValidZipCode(ErrorMessage = "Not a valid zip code!")]
public int ZipCode { get; set; }
答案 1 :(得分:3)
您扩展ValidationAttribute
,如this article所示。 ValidationAttribute
有一个方法IsValid(),你可以覆盖它来表明模型的有效性。