jQuery使用多个表单验证

时间:2015-09-16 13:36:28

标签: jquery jquery-validate

我有两个没有id的表单,我可以有更多,当我尝试使用JQuery Validation Plugin验证它是成功的但是消息总是放在第一个表单中。

<form class="myform" action="http://www.google.com">
    <input type="text" name="mytext"/>
    <button class="mybutton">Send</button>
</form>
<form class="myform" action="http://www.google.com">
    <input type="text" name="mytext"/>
    <button class="mybutton">Send</button>
</form>

JQuery验证是

    <script>
        $(function () {
            $('.myform').validate({
                rules: {
                    mytext: 'required'
                },
                messages: {
                    mytext: 'Required field'
                }
            });
            $('.mybutton').click(function () {
                var form = $(this).closest('.myform');
                console.log("Action form is: " + form.attr('action'));
                form.valid();
            });
        });
    </script>

当我按下按钮时,我知道验证成功,因为当我按下第一个按钮时输出为Action form is: http://stackoverflow.com,而当我按下第二个按钮时输出为Action form is: http://www.google.com

有没有办法以正确的形式放置错误?

Example in JSFiddle

1 个答案:

答案 0 :(得分:1)

您可以使用.each()循环:

$('.myform').each(function(){
    $(this).validate({
        rules: {
            mytext: 'required'
        },
        messages: {
            mytext: 'Required field'
        }
    });
});

JSFiddle