我正在使用一个名为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:缺少规则:checkExact
那么我该如何解决这个问题呢? verify.js在哪里可以找到规则?
网页为HERE如果你想亲自去看看。
预先感谢您的帮助。
最佳答案
您的语法错误位于:
return "Please tell us you know the exact amount!" false;
更改为return false;
您还应该确保仅在单击时设置其值以及“否”按钮,然后检查是否设置了其中任何一个,否则您的验证将始终返回 true。虽然我认为更好的方法是让他们的点击触发隐藏字段的设置为 true 或 false,您可以轻松地将其作为 bool 服务器端拉取。
关于javascript - 自定义Verify.js验证规则不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027864/