繁体   English   中英

MVC3在控制器中绑定验证

[英]MVC3 Bind validation in controller

我花了很多时间在谷歌上,找不到答案。

而不是像模型类中的属性

public class MyModel
{
   [Required]
   public string Name {get; set;}
}

我可以在控制器中添加Required要求而不是属性吗?

我期待像ValidationProvider.Add(一些模型属性,一些约束)之类的东西以前有人这样做过吗?

是的,你可以(在控制器方法中):

if(string.IsNullOrWhiteSpace(model.Name))
  ModelState.AddModelError("Name", "Name is required");

if(!ModelState.IsValid)
  return View();

但实际上你应该使用属性,或者在你的模型类上实现IValidatableObject 保持良好的分离。

如果您可以使用HTML5,则可以在字段本身中使用必需属性(在视图中)。 还要考虑.Net的FluentValidation(http://fluentvalidation.codeplex.com/)。 或者您可以使用knockoutjs框架来控制必填字段。

您不应该这样做,因为如果这样做,数据层将不需要该属性,并且不会有相应的数据库约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM