如何在asp.net mvc中为复杂类型选择验证?

时间:2011-02-23 14:37:46

标签: asp.net-mvc asp.net-mvc-3

我想显示User类型的编辑器。用户包含类型为Address的字段地址。我为类型Address创建了一个编辑器模板,以便它可以重复使用。

我不希望创建用户需要字段Address。但是地址需要一些字段,例如国家,州等。

如果我收到任何数据,我想验证地址,如果我没有收到任何数据,那么我不想将任何验证错误返回到地址的UI。那时我只返回用户的验证错误。

最好的方法是什么?

谢谢,

3 个答案:

答案 0 :(得分:1)

我使用了Microsoft的Simon J Ince的一些代码。他在博客上有here。它还有客户端验证,这也很好。它有一个RequiredIf属性,如果另一个字段具有特定值,则只需要一个字段。只是能够看到他如何实现它帮助我弄清楚如何自己做一些这些东西,我甚至改进它以允许多个值。

答案 1 :(得分:0)

我发现使用FluentValidation可以更轻松地进行更复杂的自定义验证。提供的文档非常有用,您可以使用此开源验证器实现验证目标。

答案 2 :(得分:0)

您可能需要查看用户类型的自定义模型绑定器。这样,您可以选择覆盖用户内的地址项的验证。