15

フォームを検証するために、jQuery検証プラグインを使用しています。それは機能します(私のデザインを台無しにする無効な入力の隣にエラーメッセージを配置します)が、すべての入力フィールドにエラーコンテナを指定したいと思います。errorLabelContainerを見つけましたが、これによりすべてのエラーが1つのコンテナーに入れられます。

たとえば、2つの入力があります。1つはidnameで、もう1つはfirstname。です。errorNameまた、idと。の2つのエラースパンがあると仮定しましょうerrorFirstnamenameの検証エラーをidのスパンに書き込むようにjQueryに指示するにはどうすればよいですかerrorName

これは私の現在のjQueryです:

$("#form").validate({
    errorLabelContainer: "#errors",
        rules: {
            name: {
                required: true
            },
            firstname: {
                required: true
            }
        },
        messages: {
            name: {
                required: "Enter name"
            },
            firstname: {
                required: "Enter firstname"
            }
        }
    })
4

1 に答える 1

16

errorPlacementこのオプションはあなたのニーズに合っていると思います:

作成されたエラー ラベルの配置をカスタマイズします。最初の引数: jQuery オブジェクトとして作成されたエラー ラベル。2 番目の引数: jQuery オブジェクトとして無効な要素。

無効な要素に基づいて、エラーを配置する要素を決定できます。

$("#form").validate({
    rules: {
        name: {
            required: true
        },
        firstname: {
            required: true
        }
    },
    messages: {
        name: {
            required: "Enter name"
        },
        firstname: {
            required: "Enter firstname"
        }
    },
    errorPlacement: function ($error, $element) {
        var name = $element.attr("name");

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

例: http://jsfiddle.net/R3aEQ/

于 2012-05-24T02:11:46.087 に答える