我已經實現了一個mvc應用程序。我已經使用數據註釋進行驗證。 我的班級當按鈕類型是「按鈕」而不是提交時,數據註釋不起作用
public class AdviceCreateVM
{
[Key]
public int Id { get; set; }
[Required(ErrorMessage = "Company is required")]
public int CompanyId { get; set; }
}
我的看法是
@using (Html.BeginForm("Create", "AdviceCreate", FormMethod.Post, new { enctype = "multipart/form-data", id = "frmCreate"}))
{
@Html.ValidationSummary(true)
<div class="row-fluid">
<div class="span9 roundedDiv" style="margin-left: 10px;">
<div class=" row-fluid Span12" style="margin-bottom: 15px">
<div class="span6">
<div class="span4">
<label>Company</label>
</div>
<div class="span6">
@Html.DropDownListFor(model => model.CompanyId, Model.Companies.Select(company => new SelectListItem { Value = company.Id.ToString(), Text = company.Name }), "--Select Company--")
@Html.ValidationMessageFor(model => model.CompanyId)
</div>
</div>
<input class="btn btn-primary" type="button" value="Create" id="create" />
}
我用的一個按鈕從視圖提交操作和後數據用ajax到控制器。 jQuery代碼是,
var obj =$("#frmCreate").serializeArray();
$.ajax({
url: '@Url.Action("Create", "AdviceCreate")',
type: 'POST',
data:obj,
success: function (data) {
window.location.href='@Url.Action("index")';
}
});
我的問題是,當「companyId」爲空,如果我按一下按鈕,創建它應該顯示的數據標記消息。但消息沒有劑量顯示。 任何解決方案?
您需要將jquery/javascript事件連接到按鈕單擊並在窗體上調用validate()方法。 – 2014-09-10 12:08:39
@Dhanashri Kadam'數據註釋'將在HttpPost上運行.. – Pawan 2014-09-10 12:13:19