我必须在我的模型中为username属性使用Regular表达式验证器.
我从配置文件中获取此正则表达式.
我从配置文件中获取此正则表达式.
[RegularExpression(UsernameValidationExpression)] //UsernameValidationExpression = value from the config file public string UserName { get; set; }
我在这里得到一个错误
“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式”
我怎么解决这个?
解决方法
public class ConfigRegularExpressionAttribute : RegularExpressionAttribute { public ConfigRegularExpressionAttribute(string patternConfigKey) : base(ConfigurationManager.AppSettings[patternConfigKey]) { } }
然后:
[ConfigRegularExpression("UsernameValidationExpression")] public string UserName { get; set; }
并在web.config中:
<appSettings> <add key="UsernameValidationExpression" value="foo bar" /> </appSettings>