如何仅在特定条件下才能制作字段?

时间:2013-05-30 17:05:06

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-validation

我有一个用于创建和编辑用户的编辑视图。该视图包含Password1Password2字段,分别用于密码和确认。这些在视图模型中未标记为必需,因为在编辑用户时,这些字段是可选的,仅用于更改密码。

我不希望有两个几乎完全相同的视图模型,只有两个Required属性不同。我确实对这些字段进行了服务器验证,但我真的不喜欢两阶段验证,用户修复所有客户端验证错误,只提交并等待,然后出现服务器验证错误。

在某些情况下,我是否可以通过某些方式为这些字段切换客户端验证?我知道我可以使用jQuery添加必要的属性,但我希望有一个更简单,更清晰的解决方案。

2 个答案:

答案 0 :(得分:1)

我使用了MVC Foolproof Validation。它有一组可爱的条件属性,包括[RequiredIf]

答案 1 :(得分:0)

我会在this other SO question中询问jquery不显眼的验证。

服务器端验证可以通过ajax调用来完成更复杂的验证逻辑。

否则看起来似乎是custom rule的路线。

有关详细信息,请参阅jQuery Validation documentation