MVC下自定义ModelState验证扩展方法
作者:互联网
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() };
}
Sammy爱学习 发布了75 篇原创文章 · 获赞 8 · 访问量 7万+ 私信 关注
标签:ModelState,control,errors,自定义,验证,IsValid,smsg,MVC 来源: https://blog.csdn.net/sammy520/article/details/104178508