ここのドキュメントを見る: http://docs.jquery.com/Plugins/Validation/Reference#Fields_with_complex_names_.28brackets.2C_dots.29 ルールを入力配列にアタッチするための構文は次のようになります。
rules: {
"user[email]": "email",
ただし、私の場合、配列キーは数値であり、任意の値を持つことができますが、それでもルールをフィールドにアタッチしたいと思います。jQuery を使用して入力フィールドを動的に追加します (key
はグローバル変数です)。
$('a#addfield').click(function(e)
{
e.preventDefault();
var data = '<p><input type="file" name="field['+key+']"></p>';
$('div#inputcontainer').append(data);
});
サンプル HTML 出力:
<p><input name="field[19]" type="file"></p>
<p><input name="field[22]" type="file"></p>
<p><input name="field[25]" type="file"></p>
私は次のようにルールを定義しようとしました:
rules:
{
'field[]': {
required: true,
extension: "pdf|doc|docx"
}
}
(この回答から取得: jquery validate add rules for an array input 編集:ルールを設定するこの提案された方法は'field[]'
、検証プラグインでは機能しません。以下の回答とコメントを参照してください。)
しかし、他のファイルタイプを追加しようとしても検証エラーはありません...何か提案はありますか?