javascript - 检查表单验证是否正确

标签 javascript jquery jquery-validate

您好,我有一个表单,我想通过表单验证运行然后提交。我如何检查以下函数是否返回 true 以了解所有内容都已验证并提交?

我创建了一个 fiddle 来测试

http://jsfiddle.net/WHGq2/

修改后的代码

     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
     <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>

    <script type="text/javascript">
            $(function(){
        $("#form").validate({
            debug: false,
            rules: {
                name: "required",
                email: {
                    required: true,
                    email: true
                        },
                phone: {
                    equired: true,
                    phone: true
                        }
                    },
            messages: {
                name: "Please let us know who you are.",
                email: "A valid email will help us get in touch with you.",
                phone: "Please provide a valid phone number.",
            }
        })  


    $('#form').submit(function(e){
        // Stop the form actually posting
        e.preventDefault();




        // I want to be able to do the check here if the form has passed validation
        if( $(this).valid() ) {
        // Stop the form actually posting

        // Send the request
        $.post('/submit.php', {
            name: $('#name').val(),
            email: $('#email').val(),
            phone: $('#phone').val(),
            message: $('#message').val()
        }, function(d){
            alert("Thank you for submitting your request someone will contact your shortly.");
        });
        }
    });
});
    </script>

最佳答案

可以调用jquery验证的valid()方法。喜欢

if($('#form').valid())

其实你可以在加载html页面的时候声明validate函数,在提交的时候只检查它是否有效

$(document).ready(function(){

$('#form').validate(rules...messages...);

在规则和消息的情况下使用:-

  rules: {
            name: {
               required: true  
            },
            email: {
                required: true,
                email: true
                    },
            phone: {
                required: true,
                phone: true                       }
                },
        messages: {
            name: { required : "Please let us know who you are."},
           email: {required : "A valid email will help us get in touch with you.",email : "A valid email will help us get in touch with you."},
            phone: {required:"Please provide a valid phone number.",phone:"Please provide a valid phone number."}
        }

这是一个很好的做法,如果是电话号码,您拼错了 required

$('#form').submit(function(evt) {
    evt.preventDefault();

    .....

    if( $('#form').valid() ) {
       //submit the form via ajax
    } else {
       //show errors
    }
 });

});

我想你知道你必须添加每个输入字段的名称属性:-

 <input type="text" name="email" />

关于javascript - 检查表单验证是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745017/

相关文章:

javascript - 从异步调用返回一个数组,然后对数组的每个元素进行额外的异步调用

javascript - 无法获取资源 'https://jcenter.bintray.com/com/android/tools/build/gradle/2.1.0/gradle-2.1.0.pom'

Viewdata 的 Javascript 错误

javascript - jquery 升级中的 jquery .live 到 .on

javascript - Jquery 使用提交到选择列表添加带有输入值的选项

jquery - 与 Jquery Validate 插件的依赖关系不匹配

javascript - .mouseleave 之后幻灯片放映间隔未重置

javascript - 表格中的定位按钮

javascript - 如何让 jQuery 验证允许数字包含破折号

jquery-validate - Jquery Validation Plugin,动态表单验证