動的フォームで作成された画像のアップロードがあります。アップロードされたファイルが実際の画像であることを検証し、目立たないようにしようとしています。.rules() 設定と accept プロパティの使用について読みましたが、フィールド名を入力する必要があります (http://docs.jquery.com/Plugins/Validation/Methods/accept)。フォームは動的であるため、フィールド名はわかりません。アップロード入力を生成するビューは次のようになります。
<input type="file" size="20" name="@(Model.FormItem.Id + "-image")" id="@(Model.FormItem.Id + "-image")" />
したがって、すべてのファイル入力には「-image」サフィックスが付いています。特定のフィールド名を使用する代わりに、バリデータ ルールに jquery セレクターを使用してルールを追加する方法はありますか??
編集問題が何であるかをうまく説明していないことは明らかです。おそらく、解決策はとてもシンプルで、どういうわけか見逃してしまいました。私は jQuery セレクターの使用方法を知っていますが、私が見たrules
構文の例から、ルールに静的フィールド名を指定する必要があります。静的フィールド名の代わりに検証ルールをセレクターに割り当てるにはどうすればよいですか??
だから今、これは私が持っているものです:
var validatorData = $('#items-form').data('validator');
$.extend(validatorData.settings, {
rules: {
static_field_name: { accept: "jpg|png" }
},
messages: {
static_field_name_message: "The file must be an image."
}
});
static_field_name
適切なセレクターに置き換えても、(明らかに) 機能しません$('input[name$="-image"]')
。では、これを行うにはどうすればよいですか?