2

jQuery の検証プラグインを使用して、フォームのいくつかの値をチェックしています。検証は正常に機能しますが、フォームを送信する前に別のことを確認したいと思います。

これは追加のチェックで、フォームのすべてのフィールドが正常に検証された後にのみ実行する必要があります。

$("#formname").submit(function() {
    if($("#input").val() == $("#hiddenInput").val() {
        // Everything fine, may submit
        return true;
    } else {
        // Check wasn't successfull, let's alert
        alert("Fix the input");
        return false;
    }
})

これは、プラグインを使用した実際の検証です。

$("#formname").validate({
    rules: {
        ou: {
            required: true,
            minlength: 2,
            number: true
        },
        directors: {
            required: true,
            number: true
        }
    },
    messages: {
        ou: {
            required: "Message",
            minlength: "Message",
            number: "Message"
        },
        directors: {
            required: "Message",
            number: "Message"
        }
    },
    errorPlacement: function ($error, $element) {
        var name = $element.attr("name");

        $("#" + name + "Error").append($error);
    }
})

実際に最初のコード スニペットを最初に追加しましたが、検証自体が成功したかどうかに関係なく、送信をクリックするたびに実行されます。チェックできる検証リターン コードまたはイベントはありますか?

4

1 に答える 1

4

同じプラグインを想定して追加

submitHandler: function(form) {
    alert('your submit code here');
}

検証するには、ここを参照してください

または、次のようなルールを追加します。

input: {
      equalTo: "#hiddenInput"
    }

これにより、残りの検証と同じように検証されます。

于 2012-06-20T13:21:55.310 に答える