我的sql server 2008里面有一个列Decimal(18,2).但是在实体框架中,我可以在我的asp.net MVC Web应用程序中应用于此属性的最佳数据注释验证是什么?
Gu提供了一个示例,说明如何创建覆盖RegularExpressionAttribute的自定义验证程序.
这样做的好处是您不必创建自定义模型验证器,但我无法使其工作.
给出以下代码:
public class NameAttribute : RegularExpressionAttribute {
public NameAttribute()
: base(@"^[\w\s\-\']+$") {
}
}
Run Code Online (Sandbox Code Playgroud)
这有效:
[RegularExpression(@"^[\w\s\-\']+$")]
Run Code Online (Sandbox Code Playgroud)
但这不是:
[Name]
Run Code Online (Sandbox Code Playgroud)
我是否误解了Scott的一个方面的例子,或者是MVC不支持派生类型开箱即用的例子,所以实际上我必须创建一个相应的ModelValidator?
我想知道asp.net mvc 2中是否存在一种方法,在一个proprety上有多个正则表达式.例如 :
[RegularExpression("[^0-9]", ErrorMessageResourceName = ValidationMessageResourceNames.OnlyDigits, ErrorMessageResourceType = typeof(ValidationMessages))]
[RegularExpression("[^<>]{2,}", ErrorMessageResourceName = ValidationMessageResourceNames.SpecialCharErrorCreateAccount, ErrorMessageResourceType = typeof(ValidationMessages))]
public string City { get; set; }
Run Code Online (Sandbox Code Playgroud)
这里的目标是两个有两个特定的错误消息,一个用于数字,另一个用于特殊字符,以及最小长度必须是2个字符的事实.
在此先感谢您的帮助或体验.
艾蒂安.