public class MyValidationAttribute: ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
string strValue = value.ToString();
// 检查字符串是否以000开头,并且之后跟着6个数字
Regex regex = new Regex(@"^000\d{6}$");
return regex.IsMatch(strValue);
}
}
public class MyModel
{
[MyValidation(ErrorMessage = "必须以000开头,后跟6个数字")]
public string MyProperty{ get; set; }
}
这样,当你在创建一个MyModel对象时,如果MyProperty的值不符合要求,那么自定义验证类会返回错误消息。