我必须在我的模型中为username属性使用Regular expression validator。 我从配置文件中获取这个正则表达式。
[RegularExpression(UsernameValidationExpression)] //UsernameValidationExpression = value from the config file
public string UserName { get; set; }
我在这里得到一个错误 “属性参数必须是属性参数类型”
的常量表达式,typeof表达式或数组创建表达式我该如何解决这个问题?
答案 0 :(得分:13)
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>