如何在MVC3中处理条件验证?

Mik*_*ike 5 c# asp.net-mvc-3

我刚刚学习MVC,似乎无法弄清楚如何处理以下场景,我有一个带有送货地址和账单地址的表格.各个领域都需要."结算地址与送货地址相同"复选框也是如此.我的问题是模型状态永远不会有效,除非两个地址都完成.我可以使用一些javascript来轻松处理这个问题,这些javascript只是将发货地址中的值添加到帐单地址字段中,但是如果有更好的方法来处理这个问题,我想知道.关于如何处理这种情况的任何指导都很棒.谢谢!

Eri*_*sch 4

有很多方法可以处理这个问题。如果您不使用客户端验证,那么您可以简单地在模型上实现 IValidatableObject,并重写 IsValid() 方法并执行一些代码来检查模型的有效性。

如果您使用客户端验证,那么您需要一个自定义属性,或者使用诸如Fluentvalidation之类的东西。