SilverLight数据输入验证四:Silverlight DataAnnotation常用输入验证总结

一:不为空验证RequiredAttribute

指定必须为属性提供值。

代码:

private string name;

[Required(ErrorMessage
= "姓名不能为空")]
public string Name
{
get { return name; }
set
{
if (name != value)
{
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "Name" });
name
= value;

}
}
}

 

二:字符串长度验证StringLengthAttribute

指定一个实体成员允许的最大字符数和最小字符数。

代码:

 

private string _password;
[StringLength(
6, ErrorMessage="密码不能超过6个字符")]
public string password
{
get { return _password; }
set
{
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "password" });
_password
= value;
}
}

三:最大值或最小值验证RangeAttribute

为关联成员指定最小值和最大值约束。



代码:



[Range(1, int.MaxValue, ErrorMessage = "请输入大于等于1的数")]
public int Dept_CodeLeve
{
set
{
if (_dept_codeleve != value)
{
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "Dept_CodeLeve" });
_dept_codeleve
= value;
}
}
get { return _dept_codeleve; }
}

四:电话号码验证RegularExpressionAttribute

指定用于验证关联成员的正则表达式。

代码:

 

[RegularExpression(@"^((0\d{2,5}-)|\(0\d{2,5}\))?\d{7,8}(-\d{3,4})?$", ErrorMessage = "电话格式有误。\n 有效格式为:\n①本区7或8位号码[-3或4位分机号码,可选]\n②(3~5位区号)7或8位号码[-3或4位分机号码,可选]\n③3~5位区号-7或8位号码[-3或4位分机号码,可选]\n示例:023-12345678;(023)1234567-1234")]
public string Dept_Phone
{
set
{
if (_dept_phone != value)
{
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "Dept_Phone" });
_dept_phone
= value;
}
}
get { return _dept_phone; }
}

 

五:电子邮箱地址验证RegularExpressionAttribute

指定用于验证关联成员的正则表达式。

代码:

 

[RegularExpression(@"^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$", ErrorMessage = "请输入正确的Email格式\n示例:abc@123.com")]
public string Dept_Email
{
set
{
if (_dept_email != value)
{
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "Dept_Email" });
_dept_email
= value;
Notify(()
=> Dept_Email);
}
}
get { return _dept_email; }
}



六:网站地址验证RegularExpressionAttribute

指定用于验证关联成员的正则表达式。



代码:



[RegularExpression(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?",
ErrorMessage
= "请输入合法的网址!\n示例:https://abc.a;http://www.abc.dd")]
public string Client_Httpaddr
{
set
{
if (client_HttpAddr != value)
{
client_HttpAddr
= value;
Notify(()
=> Client_Httpaddr);
Validator.ValidateProperty(value,
new ValidationContext(this, null, null) { MemberName = "Client_Httpaddr" });
}
}
get { return client_HttpAddr; }
}




作者:记忆逝去的青春
出处:http://www.cnblogs.com/lukun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/  联系我,非常感谢。

posted on 2011-04-27 14:51  记忆逝去的青春  阅读(1758)  评论(0编辑  收藏  举报