我怎样才能使一个字段只在某些条件下是必需的?
Posted
技术标签:
【中文标题】我怎样才能使一个字段只在某些条件下是必需的?【英文标题】:How can I make a field required only under certain conditions? 【发布时间】:2013-05-26 09:00:53 【问题描述】:我有一个用于创建和编辑用户的编辑视图。该视图具有Password1
和Password2
字段,分别用于密码和确认。这些在视图模型中没有标记为必填项,因为在编辑用户时,这些字段是可选的,仅用于更改密码。
我不希望有两个几乎完全相同的视图模型,只有两个Required
属性不同。我确实对这些字段进行了服务器验证,但我非常不喜欢两阶段验证,其中用户修复了所有客户端验证错误,只是提交并等待,然后出现服务器验证错误。
在某些情况下,我是否可以通过某种方式打开这些字段的客户端验证?我知道我可以使用 jQuery 添加必要的属性,但我希望有一个更简单、更干净的解决方案。
【问题讨论】:
我会检查 [this other SO question][1] 中询问的 jquery 不显眼验证。 [1]:***.com/questions/11534910/… 【参考方案1】:我使用了MVC Foolproof Validation。它有一组可爱的条件属性,包括[RequiredIf]
。
【讨论】:
【参考方案2】:我会按照this other SO question 中的要求检查 jquery 不显眼的验证。
服务器端的验证可以通过ajax调用来完成更复杂的验证逻辑。
否则,custom rule 似乎是要走的路线。
更多详情请见jQuery Validation documentation。
【讨论】:
以上是关于我怎样才能使一个字段只在某些条件下是必需的?的主要内容,如果未能解决你的问题,请参考以下文章
DocuSign Rest API - 需要某些 PDF 字段