在一个非常古老的.NET教程中," Nerd Dinner",它谈到了使用Helper Class进行规则违规。一切似乎都是直截了当的,除了我不知道把这个课放在哪里,所以我可以参考它。我是MVC的新手。
以下所有内容均来自Nerd Dinner Tutorial:
使用AddRuleViolations助手方法
我们的初始HTTP-POST Edit实现在其catch块中使用foreach语句来遍历Dinner对象的规则冲突并将它们添加到控制器的ModelState集合中:
catch {
foreach (var issue in dinner.GetRuleViolations()) {
ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
return View(dinner);
}
我们可以通过添加" ControllerHelpers"来使这段代码变得更清晰。 NerdDinner项目的类,并实现" AddRuleViolations"其中的扩展方法为ASP.NET MVC ModelStateDictionary类添加了一个辅助方法。这个扩展方法可以封装使用RuleViolation错误列表填充ModelStateDictionary所需的逻辑:
public static class ControllerHelpers {
public static void AddRuleViolations(此ModelStateDictionary modelState,IEnumerable错误){
foreach (RuleViolation issue in errors) {
modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
} }