0
當我提交我的形式,客戶端驗證工作,但它不是爲無效表單域顯示錯誤信息......MVC4客戶端驗證不顯示
示範
public class Blog : MainDbContext
{
public int Id { get; set; }
[Display(Name="Author")]
public int Profile { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Title is required.")]
public string Title { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "At least one Tag is required.")]
public string Tags { get; set; }
}
的視圖模型
public class BlogEditViewModel
{
public BlogEditViewModel(Blog blogItem, IEnumerable<SelectListItem> staffList)
{
this.BlogItem = blogItem;
this.StaffList = staffList;
}
public Blog BlogItem { get; set; }
public IEnumerable<SelectListItem> StaffList { get; private set; }
}
觀
<section>
@Html.LabelFor(model => model.BlogItem.Tags)
@Html.EditorFor(model => Model.BlogItem.Tags, null, "Tags")
@Html.ValidationMessageFor(model => model.BlogItem.Tags)
</Section>
佈局
<script src="/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
的輸出(關於表單提交)
<input type="text" value="ok" name="Tags" id="Tags" data-val-required="At least one Tag is required." data-val="true" class="text-box single-line input-validation-error">
<span data-valmsg-replace="true" data-valmsg-for="BlogItem.Tags" class="field-validation-valid"></span>
我所期望是上述跨度標籤到含有作爲n定義錯誤消息中的模型。
我懷疑與EditorFor中的命名有關的問題,正如您所看到的,我使用重載指定'htmlfieldname',因爲如果沒有這種情況,表單數據將無法映射帶有模型的表單字段&無法保存從數據提交。
如果我不使用重載的EditorFor,驗證工作,但上面提到的表單數據無法映射與模型
我怎麼驗證工作表單字段?
感謝 KB
我已經更新了我的問題,以顯示我已經包含這些,謝謝 –