jQuery验证插件。向现有规则添加新规则

希格斯玻色子

我有使用jQuery验证的项目。这是我的代码:

<script type="text/javascript" src="Scripts/jquery-1.5.1.js"></script>
<script type="text/javascript" src="Scripts/jquery.validate.js"></script>
<form action="/" id="MyForm" onsubmit="greeting()">
    <input type="checkbox" value="val1"  name="dner" />
    <input type="submit" value="Submit" />
</form>
<script type="text/javascript">
function greeting() {
    return $("#MyForm").valid();
}
$(document).ready(function () {
    $("#MyForm").validate({ onsubmit: true }); //If comment this code line, it work!!!
    $.validator.addMethod("MyFunction", function (value, element) {
        if ($("input:checked").length > 0) { return true } else { alert("Пустое поле"); return false; }
    },
    "");
    $("#MyForm").rules("add", { dner:{ MyFunction :true}});
});
</script>

当我注释一行代码时,它可以工作。这非常重要,因为在我的项目中,我有一套新的验证规则,因此无法重做。如何将新规则添加到现有规则?

活泼的

您的代码

//If comment this code line, it work!!!
$("#MyForm").validate({ onsubmit: true }); 

如果您将整行注释掉,则将删除插件初始化方法

这是一个有争议的问题,因为您的代码在两种情况下均无法正常工作。看到这里这里

您必须纠正以下问题:


1)onsubmit: true已经是默认 行为,因此通过将其设置为true,您将破坏插件。如果您希望在单击submit按钮后进行验证,则只需忽略此选项

请参阅文档onsubmit

onsubmit(默认值:true):
在提交时验证表单。设置为false仅使用其他事件进行验证。设置为“功能”可自行决定何时运行验证。布尔值true不是有效值


2)您的代码:$("#MyForm").rules("add"...

您不应该将该.rules()方法附加form您仅将其附加到field元素...

$('input[name="dner"]').rules("add", {
    MyFunction: true
});

请参阅文档

要将此方法一次应用于多个字段,请使用jQuery .each()...

$('input[type="checkbox"]').each(function() {
    $(this).rules("add", {
        MyFunction: true
    });
});

3)您不需要内联submit处理程序:onsubmit="greeting()"使用jQuery时,完全不需要内联JavaScript。此外,submit处理程序会干扰插件的内置submit处理程序。如果您submit在使用此插件时需要在事件上执行某些操作,请使用submitHandler回调函数...

submitHandler: function(form) {
    // fire this code when a valid form is submitted
    return false;  // prevent default form action, e.g. when using ajax()
}

如果您需要在表单无效时触发代码,请使用invalidHandler回调...

invalidHandler: function(event, validator) {
    // fire this code when an invalid form is submitted
}

有关示例,请参见文档


4)您的自定义方法可以浓缩...

$.validator.addMethod("MyFunction", function (value, element) {
   return ($("input:checked").length > 0) 
}, "Пустое поле");

如果您希望使用而alert()不是label消息,则可以将其放回去。尽管我不建议将alert()用作任何现代设计的一部分。


应用了所有更改的DEMOhttp : //jsfiddle.net/sqKta/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery验证插件。向现有规则添加新规则

来自分类Dev

向安全组添加新规则

来自分类Dev

在 Laravel Spark 中注册期间向团队添加新规则

来自分类Dev

向现有的jQuery表单处理脚本中添加规则

来自分类Dev

向 Wordpress 插件添加重写规则

来自分类Dev

使用VUE CLI 3.x时如何向加载程序添加新规则

来自分类Dev

向现有的jQuery插件添加弹出功能

来自分类Dev

服务器启动后,SonarQube 插件创建新规则

来自分类Dev

如何在jQuery验证插件的许多字段中添加“ depends:”规则?

来自分类Dev

如何添加验证规则

来自分类Dev

带有jQuery验证插件的ColdFusion动态循环创建动态规则

来自分类Dev

带有jQuery验证插件的ColdFusion动态循环创建动态规则

来自分类Dev

加载页面后,在Foundation交换中添加新规则

来自分类Dev

无法将新规则添加到Firefox Devtools

来自分类Dev

无法将新规则添加到Firefox Devtools

来自分类Dev

带有If / Else语句的Jquery验证规则

来自分类Dev

带有If / Else语句的Jquery验证规则

来自分类Dev

向SonataUserBundle添加自定义验证规则

来自分类Dev

Javascript - jQuery 验证插件规则方法不起作用

来自分类Dev

PostgreSQL而不是带有多个查询的更新规则

来自分类Dev

PostgreSQL而不是带有多个查询的更新规则

来自分类Dev

在Debian中重启后,iptables没有还原新规则

来自分类Dev

在现有的重写规则.htaccess中添加斜杠

来自分类Dev

如何为现有语言添加新的引理规则

来自分类Dev

向PMD添加规则集?

来自分类Dev

具有多个规则的jQuery Form Validation插件

来自分类Dev

使用jQuery Validator添加动态验证规则时出错

来自分类Dev

我的jquery验证问题添加了方法密码规则

来自分类Dev

Laravel有条件地添加规则,如果其他验证规则无效,则停止一个规则

Related 相关文章

  1. 1

    jQuery验证插件。向现有规则添加新规则

  2. 2

    向安全组添加新规则

  3. 3

    在 Laravel Spark 中注册期间向团队添加新规则

  4. 4

    向现有的jQuery表单处理脚本中添加规则

  5. 5

    向 Wordpress 插件添加重写规则

  6. 6

    使用VUE CLI 3.x时如何向加载程序添加新规则

  7. 7

    向现有的jQuery插件添加弹出功能

  8. 8

    服务器启动后,SonarQube 插件创建新规则

  9. 9

    如何在jQuery验证插件的许多字段中添加“ depends:”规则?

  10. 10

    如何添加验证规则

  11. 11

    带有jQuery验证插件的ColdFusion动态循环创建动态规则

  12. 12

    带有jQuery验证插件的ColdFusion动态循环创建动态规则

  13. 13

    加载页面后,在Foundation交换中添加新规则

  14. 14

    无法将新规则添加到Firefox Devtools

  15. 15

    无法将新规则添加到Firefox Devtools

  16. 16

    带有If / Else语句的Jquery验证规则

  17. 17

    带有If / Else语句的Jquery验证规则

  18. 18

    向SonataUserBundle添加自定义验证规则

  19. 19

    Javascript - jQuery 验证插件规则方法不起作用

  20. 20

    PostgreSQL而不是带有多个查询的更新规则

  21. 21

    PostgreSQL而不是带有多个查询的更新规则

  22. 22

    在Debian中重启后,iptables没有还原新规则

  23. 23

    在现有的重写规则.htaccess中添加斜杠

  24. 24

    如何为现有语言添加新的引理规则

  25. 25

    向PMD添加规则集?

  26. 26

    具有多个规则的jQuery Form Validation插件

  27. 27

    使用jQuery Validator添加动态验证规则时出错

  28. 28

    我的jquery验证问题添加了方法密码规则

  29. 29

    Laravel有条件地添加规则,如果其他验证规则无效,则停止一个规则

热门标签

归档