我使用MVC数据注释为我的模型上的字段指定验证正则表达式。该字段是可选的,即,它不具有施加的[Required]
属性:不显眼的验证:可选字段的正则表达式验证
[RegularExpression(@"^\d+$")]
public int Quantity { get; set; }
当客户端验证运行时,该字段不针对正则表达式验证。
$jQval.addMethod("regex", function (value, element, params) {
var match;
if (this.optional(element)) { // <- returns if field is optional
return true;
}
match = new RegExp(params).exec(value);
return (match && (match.index === 0) && (match[0].length === value.length));
});
我怎样才能添加验证,使空场是允许的,但如果输入一个值,它必须在正则表达式匹配:综观jquery.validate.unobtrusive.js代码为什么会变得清楚了吗?
关于编辑:很明显,我可以更改jquery.validate.unobtrusive.js中的代码,但我宁愿保留此文件,以免我的更改被未来更新覆盖。
如果由于if(this.optional(element)){'condition –
@ Arun P Johny:字段是空的,它应该允许:完全。我该如何改变这种情况(同时将代码保留在jquery.validate.unobtrusive.js中)? – matk
参见http://jsfiddle.net/arunpjohny/m8J8H/1/ –