我有一个用于创建和编辑用户的编辑视图。该视图包含Password1
和Password2
字段,分别用于密码和确认。这些在视图模型中未标记为必需,因为在编辑用户时,这些字段是可选的,仅用于更改密码。
我不希望有两个几乎完全相同的视图模型,只有两个Required
属性不同。我确实对这些字段进行了服务器验证,但我真的不喜欢两阶段验证,用户修复所有客户端验证错误,只提交并等待,然后出现服务器验证错误。
在某些情况下,我是否可以通过某些方式为这些字段切换客户端验证?我知道我可以使用jQuery添加必要的属性,但我希望有一个更简单,更清晰的解决方案。
答案 0 :(得分:1)
我使用了MVC Foolproof Validation。它有一组可爱的条件属性,包括[RequiredIf]
。
答案 1 :(得分:0)
我会在this other SO question中询问jquery不显眼的验证。
服务器端验证可以通过ajax调用来完成更复杂的验证逻辑。
否则看起来似乎是custom rule的路线。
有关详细信息,请参阅jQuery Validation documentation。