您确定您拥有开箱即用的[ValidateModel]
属性吗?因为according to this link它是自定义属性,有助于使代码更清洁一点,因为您可以省略控制器中的ModelState.IsValid
语句,因为如果动作实施其模型数据已经有效。我浏览互联网和所有[ValidateModel]
实现具有类似ModelState.IsValid
代码语句:
public class ValidateModelAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext.ModelState.IsValid == false)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(
HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
}
我不知道,但我觉得,因为[ValidateModel]
是自定义属性,需要进行解释和执行额外的空间,所以大多数教程喜欢出去箱子ModelState.IsValid
。
ValidateModelAttribute是一个开箱即用的框架类吗?或者你在使用自定义库吗? –
MVC中没有'ValidateModelAttribute'。假设你引用[this plugin](https://github.com/jehugaleahsa/TestMvcApplication/blob/master/MvcUtilities/FilterAttributes/ValidateModelAttribute.cs)? –