首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再说表单验证,在Web Api中使用ModelState进行接口参数验证

其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState...认识ModelState 我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validate.unobtrusive这个插件就能轻松的在页面上输出错误信息,详细的介绍可以参考这篇文章...再看看ModelState类型是个什么鬼: [Serializable] public class ModelState { // Fields private ModelErrorCollection...(var key in ModelState.Keys) { var state = ModelState[key];...(var key in modelState.Keys) { var state = modelState[key];

2.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

这算是ASP.NET MVC的一个大BUG吗?

StackOverflow上也有对这个问题的描述http://stackoverflow.com/questions/1775170/asp-net-mvc-modelstate-clear 闲话少说,...如下所示,当InputHelper在指定表单元素值得时候,会先从当前ModelState中获取,如果该值在ModelState中不存在,才会从当前ViewData中获取。...对于本例来说,ModelState中的值是原始值,ViewData的值采用修改后的值。...其实我觉得严格来说也是无奈之举吧, 拿Update场景来说 比如说Model里面的某个Property可能是Int的,但是你传入的Form值却可能是任意的字符串,这时后台ModelState.IsValid...所以这个角度看来ModelState的优先级是比较高的。 [你总不能回显一个0,然后错误提示“你输入的不是数值类型”吧]

79480
领券