在ASP中集中正则表达式验证模式.净MVC

本文关键字:模式 MVC 验证 正则表达式 ASP 集中 | 更新日期: 2023-09-27 18:04:58

在ASP中有一种方法。. Net MVC有一个正则表达式属性上的模型属性拉模式字符串属性从资源文件或另一个类?

当我尝试使用另一个类时,我得到一条消息,说明属性值必须是常量、typeof表达式或数组。

最终,我试图抽象这些模式中的一些,这样如果一个错误位于模式中,我就不必更新多个文件。

例子:

public class MyModel{
    [RegularExpression(StaticPatternClass.EmailPattern, ErrorMessage="invalid email")]
    public string email { get; set;}
}
public static class StaticPatternClass{
    public static string EmailPattern = @"My pattern here";
}

在ASP中集中正则表达式验证模式.净MVC

Try

public const string EmailPattern ....

相反,

错误描述非常清楚,它需要是一个常量。常量值是编译的,不能更改。然而,在程序执行期间,常规静态字符串可能会被更改(更确切地说,字符串是不可变的),这是不允许的。试试这个:

public static class StaticPatternClass{
    public const string EmailPattern = @"My pattern here";
}