我有一個MVC 5 Application
。我有一個從Model View
繼承的視圖。我有一個DropDownlistFor
與Validation
不能爲空。mvc dropdownlist for validation在提交之前運行
我遇到的問題是,只要我從Dropdownlist
中選擇一項,就會執行驗證。當我選擇相同的第一項「選擇國家」,我的意思是,Y選擇相同的默認選項,確認執行,並顯示一條消息"Country is required"
...
我把jquery
Submit
按鈕,警報和Controller Method
和它沒有達到那一點。
另一個奇怪的是,這個程序是從Entity Framework
到Enterprise Library Store Procedure
遷移..
繼承的View
的Model
被裝載在控制器從Store Procedure
代替EntityFrawork
。
這應該對視圖透明。但是這個錯誤只發生在這個版本中。它適用於Entity Framework
。
下面是代碼的一部分。這
@model AvivaVozSP.Models.UserViewModel
@using System.Web.Mvc.Ajax
<form action="@Url.Action("Create", "Users")" id="form" enctype="multipart/form-data" method="post">
<div class="DvCampoUp">
@Html.DropDownListFor(m => m.user.Country_id, Model.AvailableCountries, new { @class = "StyleOb Required txtFill", @onclick = "ocultar();", @onchange = "javascript:GetState(this.value);", @id = "Country_id" })
</div>
<div class="DvCampoUp">
@Html.ValidationMessageFor(model => model.user.Country_id, "", new { @class = "text-danger" })
</div>
</form>
<script language="javascript" type="text/javascript">
$('form').submit(function (event) {
alert(1);
});
什麼想法?
是「選擇國家」的一部分,從列表中刪除
Choose a Country
?因爲您可以使用@ Html.DropDownListFor()參數中的默認值 –是的,從列表中選擇一個國家是系統(0)...我打開下拉列表並且不選擇任何國家,驗證運行。我的問題是爲什麼驗證運行,如果我不提交? – Diego