Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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??

like image 329
nimi Avatar asked Jul 11 '11 11:07

nimi


1 Answers

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>
like image 132
Darin Dimitrov Avatar answered Oct 31 '22 13:10

Darin Dimitrov