我目前正在开发一个ASP.NET MVC2项目.这是我第一次使用真正的MVC Web应用程序. ASP.NET MVC website真的帮助我快速入门,但我仍然有一些关于数据模型验证的模糊知识. 我的问题是,当涉及复杂的
我的问题是,当涉及复杂的验证规则时,我真的不知道在哪里管理我填充的数据模型.例如,使用Regex验证字符串字段非常简单,我知道我只需要使用特定属性来装饰我的字段,因此数据管理规则在模型中实现.但是,如果我有多个字段需要相互验证,例如需要根据特定时间规则正确设置的多个日期时间,我需要在哪里验证它们?我知道我可以创建自己的验证属性,但有时验证要求使用属性验证复杂的特定验证路径.
第一个问题也引出了一个相关的问题,即在控制器中验证模型是否正确?因为目前这是我找到复杂验证的唯一方法.但是我发现这有点脏,我觉得它不适合控制器角色而且更难测试(多个代码路径).
谢谢.
NB:我在这里得到了一些非常好的解决方案,但我正在等待其他想法和一些“最佳实践”解决方案“.
Mega Dupe.巨型主观. “在哪里以及如何验证MVC”的论点已经被打死,而没有得出一个直接的答案.这对每个开发商/商店来说都是如此主观和哲学,以至于每个人几乎不可能就任何事情达成一致.另一个问题是验证工具甚至有一堆形状和大小,可以在不同的范围和层中运行.它几乎是疯狂的验证工具的多样性.如果(someString!=“”)变得如此难以怎样?