How to write custom RegularExpressionValidator which takes the values from the config file?

坚强是说给别人听的谎言 提交于 2019-12-04 18:59:09

问题


I have to use a Regular expression validator for username property in my model. I am getting this regular expression from the config file.

[RegularExpression(UsernameValidationExpression)] //UsernameValidationExpression = value from the config file
public string UserName { get; set; }

Here i am getting an error "An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type"

How can i solve this??


回答1:


public class ConfigRegularExpressionAttribute : RegularExpressionAttribute
{
    public ConfigRegularExpressionAttribute(string patternConfigKey)
        : base(ConfigurationManager.AppSettings[patternConfigKey])
    { }
}

and then:

[ConfigRegularExpression("UsernameValidationExpression")]
public string UserName { get; set; }

and in web.config:

<appSettings>
    <add key="UsernameValidationExpression" value="foo bar" />
</appSettings>


来源:https://stackoverflow.com/questions/6649362/how-to-write-custom-regularexpressionvalidator-which-takes-the-values-from-the-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!