验证的正则表达式的
需要验证数据输入与属性RegularExpression
,而在财产去几个正则表达式,例如:验证的正则表达式的
[RegularExpression (@ "[a-z] {4,} ", ErrorMessage ="Short Name")]
[RegularExpression (@ "[a-z]", ErrorMessage = "invalid character ")]
public string Name {set; get;}
使用两个属性正则表达式编译器的问题 “复制‘正则表达式’的属性”。
如何实施验证?
您可以创建自定义属性:
public class ShortNameAttribute : RegularExpressionAttribute
{
public ShortNameAttribute() : base(@"[a-z] {4,} ")
{
}
}
public class InvalidCharsAttribute : RegularExpressionAttribute
{
public InvalidCharsAttribute() : base(@"[a-z]")
{
}
}
[ShortNameAttribute]
[InvalidCharsAttribute]
public string Name { get; set; }
嗯......如果这样的话,为什么'AllowExpressedAttribute'声明为'AllowMultiple = false'? – Timwi 2011-02-26 17:28:10
@Timwi很好地设置它然后。 – ukhardy 2011-02-26 17:31:08
[我不认为他可以篡改太多](http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.regularexpressionattribute.aspx):P – bottlenecked 2011-02-26 17:58:49
作为一个评论,我宁愿如果你没有限制的字符集的用户可以使用,更不用说这样一本小英文为中心的一系列的字母。您会考虑从您的应用程序中删除该限制以避免激怒您的用户吗? – Timwi 2011-02-26 17:25:29