2012-06-21 36 views
4

我需要能够使用jquery.validate和jquery.validate.unobtrusive来验证表单上的分数。我已经改变了我的HTML标记,包括“分数”如何用新的验证扩展jquery.validate.unobtrusive?

<input class="span12 data fraction" data-val="true" name="FrontHoodHeightL" id="FrontHoodHeightL" type="text" value="29 15/16"> 
在类名

,我已经包含在我的网页下面的JavaScript。

$.validator.addMethod("fraction", function (value, element, param) { 
    var fracExp = new RegExp("(?:-(?!0))?\d+(?:(?: \d+)?/\d+)?"); 
    return fracExp.test(value); 
}); 

但该方法似乎永远不会被调用。我错过了什么步骤来连接它?

回答

4

一个步骤:用addClassRules添加使用新方法的类规则:

$.validator.addClassRules("fraction", { 
    fraction: true 
}); 

例子:http://jsfiddle.net/X2m4U/

:看起来你试图使用负在你的正则表达式中看后面。这个won't work带有JavaScript。

+0

谢谢。你能指出我在你找到这个文档的方向吗?我看了一会儿,找不到任何东西。您对正则表达式也是正确的。我必须找出一个可以工作的不同方法。 – PlTaylor

+0

@PlTaylor:我已经添加了一个指向'addClassRules'文档的链接。我不确定是否有明确的文档指导你如何添加这样的规则,我对插件非常熟悉。 –