我有一个MVC3应用程序,使用EF,其中一张桌子在很多视图模型中。它有一个通常不需要的字段。但是,有一种情况(和一种观点)需要它。我希望客户端和服务器验证这个字段的必要性,在需要的地方。添加临时不显眼的验证
现在,我不想将Required
数据注释放在字段上,因为那样它将始终是必需的。即使在未显示编辑字段的视图中,情况也是如此,这将导致用户无法离开的验证消息。
我也不是在寻找RequiredIf
验证属性,因为这不符合设计。该字段只在一种情况下需要,我不想在所有视图模型中从一个多余的表中粘贴额外的字段,只是为了依赖。
我想要的就是能够在一个视图中打开一个字段所需的字段验证,以特别的,不基于DataAnnotations的方式。
立即向我建议的方式是在为字段创建标记时(通过HtmlHelper.TextBoxFor
签名末尾的HtmlAttributes
对象)指定必需的data-val-*
属性。如果我理解正确,这应该提示JS不引人注意的验证来根据需要处理该字段。
但是这是......有点太过分了,在我看来。不显眼的验证支持会侵入到更高级别的代码中。有没有更优雅的方式来做到这一点?我可以使用jQuery Validation函数调用来实现我想要发生的事情吗?
同意重新编码的味道,需要进行服务器端验证。思考我的应用程序对其余的影响。不过,非常感谢。 – 2012-02-15 17:58:02