簡體   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