C# mvc中的web配置值不引人注目的验证
我在web.config中存储值。这些是网站的设置。例如,事件最小年龄限制为16岁。为此,我创建了自己的数据注释,并使用configurationManager返回值,但现在我想创建一个客户端版本 我现在在validationXtender.js文件中有这个C# mvc中的web配置值不引人注目的验证,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我在web.config中存储值。这些是网站的设置。例如,事件最小年龄限制为16岁。为此,我创建了自己的数据注释,并使用configurationManager返回值,但现在我想创建一个客户端版本 我现在在validationXtender.js文件中有这个 jQuery.validator.addMethod("checkUserAgeOfEvent", function (value, element, param) { var dob = $("#DateOfBirth").val
jQuery.validator.addMethod("checkUserAgeOfEvent", function (value, element, param) {
var dob = $("#DateOfBirth").val();
//do validation here
if(ConvertToAge(dob) == minAge)
{
// do something
}
return true;
});
jQuery.validator.unobtrusive.adapters.addBool("checkUserAgeOfEvent");
我的问题是,如何从web.config中包含我的值,还是必须硬编码最小年龄值?我想尽量避免这种情况
为此,我创建了自己的数据注释
如果为自定义数据批注实现了iclientvalidable
接口,则可以向客户端添加自定义值,如我在中所示
基本上,在您的GetClientValidationRules
方法中,您会将此minAge
传递给客户端:
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRule
{
ErrorMessage = this.ErrorMessage,
ValidationType = "userage",
};
rule.ValidationParameters.Add("minAge", ConfigurationManager.AppSettings["MinAge"]);
yield return rule;
}
jQuery.validator.addMethod(
"checkUserAgeOfEvent",
function (value, element, params) {
var dob = $("#DateOfBirth").val();
var minAge = params.minAge;
if(ConvertToAge(dob) == minAge) {
// do something
}
return true;
}
);
酷。我今天去看看。