我正在使用一个新的插件来验证名为Verify.js的表单字段,一切都运行良好,直到我开始尝试创建自己的自定义验证规则。
以下是其文档的链接,其中介绍了如何创建自定义验证:http://verifyjs.com/#custom-rules
更有帮助的是,这个示例是由插件作者在JSfiddle上发布的:http://jsfiddle.net/jpillora/R4t84/1/我几乎准确地复制了代码格式,但它仍然不起作用。
现在,如果用户未选择输入字段#YesExact
,我试图让表单无法提交。这是一个非常简单的表单验证,只是试图让它工作,所以我开始用Verify.js编写自定义验证规则
表单字段的HTML标记如下:
p class="regular-content option-label">Do you know the exact size of your order?</p>
<input name="YesExact" id="YesExact" data-validate="checkExact" type="button" class="btn btn-tca padding-button" value="Yes">
我编写的具有自定义验证规则的javascript编写如下:
// custom form validation
$.verify.addRules({
checkExact: function (r) {
if ($('#YesExact').val() === "") {
$('#YesExact').notify("Please tell us you know the exact amount!", "error");
return "Please tell us you know the exact amount!" false;
}
return true;
}
});
这看起来应该完全奏效,我非常密切地关注这个例子。但是,我有一个主要的线索,为什么它不起作用... javascript控制台说:
verify.js: Missing rule: checkExact
那么我该如何解决这个问题呢? Verify.js可以在哪里找到规则?
如果你想亲自去看看,网页是HERE。
提前感谢您的帮助。
答案 0 :(得分:1)
您遇到语法错误:
return "Please tell us you know the exact amount!" false;
更改为return false;
您还应确保仅在单击时设置其值,以及“否”按钮,然后检查是否已设置,否则您的验证将始终返回true。虽然我认为更好的方法是让他们的点击触发隐藏字段的设置为true或false,您可以轻松地将其作为布尔服务器端拉。
答案 1 :(得分:0)
我通过在关闭正文标记之前的文件底部包含verify.js脚本来解决此问题,假设您的jquery文件也包含在这些以下语句之前,并假设输入正确包含在{{ 1}}标签
<form>
你的退货声明也是错误的
<script src="js/Verfify.js" type="text/javascript"></script>
<script src="../yourFolder/yourJavascriptFileWithVerifyRules.js">
</body>
应该是
return "Please tell us you know the exact amount!" false;