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/ 联系我,非常感谢。