javascript - jquery 验证插件没有提交按钮

标签 javascript jquery jquery-validate

单击“执行”按钮后,即使框中填写了无效值,也会显示一切正常消息。

<!DOCTYPE html>
    <html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <meta name="robots" content="noindex, nofollow">
      <meta name="googlebot" content="noindex, nofollow">
      <meta name="viewport" content="width=device-width, initial-scale=1">



        <script type="text/javascript" src="https://code.jquery.com/jquery-1.8.3.js"></script>  


        <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script>


        <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/additional-methods.js"></script>



      <title></title>




    <script type="text/javascript">


    $(document).ready(function () {

        jQuery.validator.addMethod('integer', function (value, element, param) {
            return (value != 0) && (value == parseInt(value, 10));
        }, 'Please enter a non zero integer value!');

        $('#myform').validate({
            rules: {
                field1: {
                    required: true,
                    integer: true
                },
                field2: {
                    required: true,
                    integer: true
                }
            },
            submitHandler: function (form) { // for demo
                alert('valid form');
                return false;
            }
        });

                $('#go').click(function(){ 

                        if (!$("#myform").validate()) 
                        { 

                            // Not Valid
                            alert('missing some data');
                            return false;

                        } 
                        else 
                        {    

                            <!-- $("#myform").submit() -->
                            alert('all good');
                            return false;

                        }
                });

    });



    </script>


    </head>

    <body>
        <form id="myform">
            <input type="text" name="field1" />
            <br/>
            <input type="text" name="field2" />
            <br/>
            <input id="go" value="GO" type="button" />
        </form> 

    </body>

    </html>

最佳答案

不是“if”.validate() - 这是验证器对象,并且自存在以来将始终为true

Use .valid() for any boolean testing :

$('#go').click(function() { 
    if (! $("#myform").valid()) { ....

关于javascript - jquery 验证插件没有提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238900/

相关文章:

javascript - 如何仅获取选定复选框的选项值?

javascript - jquery按钮在onclick上显示不同的值

javascript - 使用 jQuery 进行文本区域验证

javascript - redux thunk 中的多个 api 调用操作

javascript - 在 php 中从网站 Facebook 共享

javascript - 将数据从 ajax success 传递到外部 else/if 语句

javascript - 如何在 jquery 验证器中显示 'looks good' 消息?

JQuery 验证插件消息样式

javascript - 在另一个Js文件中声明Js文件

javascript - 选择使用 css 类所需的选项输入