我想驗證我的電話號碼,併爲每一個非有效的情況下,我想有另一條錯誤消息電話驗證:與DataAnnotation
所以,我的驗證規則:
- 只有9位 - >錯誤信息=「錯誤消息1」
- 數不能與相同數量的例如222222222>錯誤 消息=「錯誤消息2」
- 不能是串像「123456789」>錯誤信息=「錯誤消息3「
- 不能由0開始>錯誤信息=「錯誤消息4」
MyPhoneAttribute:
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class MyPhoneAttribute : RegularExpressionAttribute
{
private const string myRegex = @"^([0-9]{9}){0,1}$";
public MyPhoneAttribute() : base(myRegex)
{
ErrorMessage = "default error message";
}
public override bool IsValid(object value)
{
if (string.IsNullOrEmpty(value as string))
return true;
if (value.ToString() == "123456789")
{
return false;
}
if (Regex.IsMatch(value.ToString(), @"^([0-9])\1*$"))
{
return false;
}
return Regex.IsMatch(value.ToString(), @"^([0-9])\1*$");
}
}
那麼,是什麼問題? – Marusyk
我不知道如何創建具有不同錯誤消息的驗證規則。 – Cieja
http://www.codeguru.com/csharp/.net/validating-data-using-data-annotation-attributes-in-asp.net-mvc.htm – Wenson