MVC下可以通過對ModelState.IsValid方法進行驗證模型,當我們設計好一個模型並且通過引用
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
設置好相應的特性時,Action中通過ModelState.IsValid就可以對此模型進行相應的驗證,並且獲取之前設置好的驗證信息。
爲了方便的使用此功能我們可以自定義一個擴展方法,我們目前是獲取驗證信息中的第一條進行提示,當然這個可以自己設置。
/// <summary>
/// 取得Model的驗證錯誤信息
/// </summary>
/// <param name="control"></param>
/// <returns></returns>
public static string GetErrMessage(this Controller control)
{
string smsg = "";
foreach (var key in control.ModelState.Keys)
{
var errors = control.ModelState[key].Errors;
if (errors.Count() > 0)
{
smsg = errors[0].ErrorMessage;
break;
}
}
return smsg;
}
在Action中 驗證調用時只要簡單調用就可以獲取驗證信息了
if (ModelState.IsValid)
{
Msg = _SfdService.Add(model);
}
else
{
Msg = new MessageDTO() { Success = false, Message = this.GetErrMessage() };
}