自定义Verify.js验证规则未应用

时间:2015-05-04 10:28:33

标签: javascript jquery html validation

我正在使用一个新的插件来验证名为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

提前感谢您的帮助。

2 个答案:

答案 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;