どうやって控えめなjavascriptでドロップダウンリストを検証できますか?必要なバリデータの検証用テキストボックスとして、ドロップダウンリストでは機能していないのですか?asp.net mvc jqueryドロップダウンの検証
控えめなjsファイルを変更する必要がありますか?ドロップダウンリストを検証するオプションがありますか?
javascriptでform.validate()をチェックしたときにエラーを表示したいと思います。
どうやって控えめなjavascriptでドロップダウンリストを検証できますか?必要なバリデータの検証用テキストボックスとして、ドロップダウンリストでは機能していないのですか?asp.net mvc jqueryドロップダウンの検証
控えめなjsファイルを変更する必要がありますか?ドロップダウンリストを検証するオプションがありますか?
javascriptでform.validate()をチェックしたときにエラーを表示したいと思います。
私が見た中で最高のは、jQueryのフォーム検証プラグインを使用している:
http://plugins.jquery.com/project/validate
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
マークアップ
<p>
<label for="ProductCategoryList">Product Categories</label>
<%= Html.DropDownList("ProductCategoryList", ViewData["ProductCategories"] as SelectList)%>
</p>
と検証スクリプト
$.validator.addMethod("selectNone",
function (value, element) {
return this.optional(element) || element.selectedIndex != 0;
},
"Please select an option."
);
$(function() {
$("#form1").validate({
rules: {
ProductCategoryList: {
selectNone: true
}
},
messages: {
ProductCategoryList: {
selectNone: "This field is required"
}
}
});
});
$(function() {
$("#form1").validate({
rules: {
ProductCategoryList: {
required: true
}
},
messages: {
ProductCategoryList: {
required: "This field is required"
}
}
});
});
DropDownListのselecteditemへのバインドに使用されるViewModelのプロパティを作成することで、これが機能します。例では、それを明確にします:ビューの
コード:
<div class="editor-field">
@Html.DropDownListFor(model => model.SelectedPlantID,
new SelectList(Model.Plants, "Value", "Text"),
" ", new { id = "ddlPlant" })
@Html.ValidationMessageFor(model => model.SelectedPlantID)
</div>
のViewModelのコードは(強く型付けされたビューに)次のようになります。
private List<SelectListItem> _plants = new List<SelectListItem>();
[Required]
[Display(Name = "Plant")]
public List<SelectListItem> Plants
{
get
{
return (_plants);
}
set
{
_plants = value;
}
}
public Guid SelectedPlantID
{
get;
set;
}
注:SelectedPlantIDあなたのモデルのフィールドである必要はありません。
これはあなたのために働くことを望みます!
ドロップダウンリストで選択されたオプションが空白( "")に設定されていることに注意してください。 – PreethaA
最初のオプションをそのまま使用するには、value=""
のままにする必要があります。
<asp:ListItem Value="">- Select Something -</asp:ListItem>
あなたが検証にはjQueryを統合したい場合は、フィールドを指定する必要が
使用DropDownListFor
ないDropDownList
@Html.DropDownListFor(c => c.Profile_Id, null, "-- Choose --", new { @class = "input-large" })
あなたのリストは、フィールドと同じ名前を持つ場合は、「ドンViewBag.Profile_Is as SelectList
を入力する必要があります。これは、リストにnull値を送信すると編集シナリオでは機能しないためです。
これで十分です...追加のメソッドを追加する必要はありません... – yogee