Asp.net mvc 如何对资源文件使用RegularExpression DataAnnotation
我目前正在使用MVC1.0和.NET3.5。我正在使用DataAnnotations来验证我的模型。我正在尝试添加使用RegularExpression来验证邮政编码。当我尝试以下操作时,我已将我的正则表达式存储在资源文件中,因为许多模型都会使用它:Asp.net mvc 如何对资源文件使用RegularExpression DataAnnotation,asp.net-mvc,resources,data-annotations,Asp.net Mvc,Resources,Data Annotations,我目前正在使用MVC1.0和.NET3.5。我正在使用DataAnnotations来验证我的模型。我正在尝试添加使用RegularExpression来验证邮政编码。当我尝试以下操作时,我已将我的正则表达式存储在资源文件中,因为许多模型都会使用它: [RegularExpression(Resources.RegexPostcode, ErrorMessage="Postcode format invalid")] public string Postcode { get; set; } 生
[RegularExpression(Resources.RegexPostcode, ErrorMessage="Postcode format invalid")]
public string Postcode { get; set; }
生成时出现以下错误:
属性参数必须是
常量表达式
或数组的创建表达式
属性参数类型
是否有任何方法可以将资源文件中的值用作正则表达式,或者我是否需要将实际的正则表达式字符串输入到每个具有邮政编码的模型中
谢谢我建议您创建自己的验证属性。这将使正则表达式和错误消息保持在一个位置
class PostcodeAttribute : RegularExpressionAttribute
{
public PostcodeAttribute() : base("your regex")
{
this.ErrorMessage = "Postcode format invalid";
}
}
无法对接受的答案发表评论,因为我没有足够的代表 这个被接受的答案对我来说很有效,但需要进行一些调整,才能使用不引人注目的javascript验证。需要此答案中的IClientValidable位: