0

1ページにn個のフォームがあります。それぞれに2つの電子メールアドレスフィールド(通常のフィールドと検証)があります。私がやりたいのは、2つのフィールドにequalToルールを設定することです。私が今していることはこれです:

$(".contactform").validate({
   onsubmit: true,
   onkeydown: false,
   onkeyup: false,
   onfocusin: false,
   onfocusout: false,
   onchange: false,
   onclick: false,
      rules: {
         email_veri: {
            equalTo: ".email"
         }
      }
});

ただし、emailとemail_veriのIDはフォームごとに異なるため、これは明らかに機能していません。フィールドに直接検証ルールを設定できることを読みましたが、その方法がわかりませんでした。誰かが助けてくれることを願っています。

4

2 に答える 2

2

これは、 http: //www.epalla.com/2009/12/jquery-validation-with-multiple-forms/の「複数の(ほとんど)同一のフォームを使用したjQuery検証」から役立つ場合があります。

彼らの答えは、各フォームを個別に検証することです。

$(".question_form").each(function() {
    $(this).validate(
        rules: {
            email_veri: {
                equalTo: ".email"
        }
    );
});
于 2012-04-25T01:54:34.400 に答える
1

Hiyaはあなたのために非常に簡単なデモを作成しました:http ://jsfiddle.net/bY5P6/

したがって、別の電子メールと電子メール検証フィールドを入力すると、equal toメッセージ検証が行われます。

それに関するさらなるドキュメント:http://docs.jquery.com/Plugins/Validation/Methods/equalTo

または複数のフォームについては、こちらをご覧ください:JQuery Validate Pluginを使用して、同じ名前の複数のフォームフィールドを検証する

複数のフォームを使用している場合は、必ず引用してください。

検証では、ラジオボタンとチェックボックスを除いて、フィールド名が一意である必要があります。

:)!

Jqueryコード

//================================= AZIONE FORM
$('#submit').click(function() {
    $('#mailer').submit();
    return false;
});

//================================= VALIDAZIONE FORM
$('#mailer').validate({
    focusInvalid: false,
    debug: true,
    rules: {
        name: {
            required: true
        },
        email_address: {
            required: true,
            email: true
        },
        email_address_veri: {
            required: true,
            email: true,
            equalTo: ".email"
        },
        request: {
            required: true
        }
    },
    messages: {
        name: {
            required: 'name required'
        },
        email_address: {
            required: 'email required',
            email: 'email address is not valid'
        },
        email_address_veri: {
            required: 'email required',
            email: 'email address verification is not valid',
            equalTo: "Please enter the same email as above"
        },
        request: {
            required: 'request required'
        }
    }
});​

HTML

<!doctype html>
<html class="no-js" lang="en">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

        <form action="#" method="post" id="mailer" autocomplete="off">
            <label>
                <span>name</span>
                <input type="text" name="name" required="required" value="" />
            </label><br /><br />
            <label>
                <span>email</span>
                <input type="email" name="email_address" class="email"  value="" />
            </label><br /><br />
            <label>
                <span>email Verification</span>
                <input type="email" name="email_address_veri"  value="" />
            </label><br /><br />
            <label>
                <span>request</span>
                <textarea name="request" required="required"></textarea>
            </label><br /><br />
            <a href="javascript:;" id="submit">submit</a>

        </form>

    </body>
</html>
​

出力

ここに画像の説明を入力してください

于 2012-04-25T01:25:38.530 に答える