在我的表单上,我有许多可选字段,只有在提供了先前的复选框或单选按钮值时才需要这些字段。为了保持表单清洁,我隐藏了那些额外的字段,直到需要它们为止。
我遇到的问题是当这些字段被取消隐藏时,它们会被突出显示,好像它们有错误一样,很可能是因为它们被标记为有条件要求。有没有办法防止这种情况发生,所以验证只发生在提交?
我正在使用ExpressiveAnnotations并且不引人注意的验证将所有内容连接起来。我的jquery验证配置是:
$.validator.setDefaults({ highlight: (element) => { $(element).closest('.form-group').addClass('has-error'); }, unhighlight: element => { $(element).closest('.form-group').removeClass('has-error'); } });
隐藏或显示我已将其包裹在div
中的额外字段,并使用名为hidden
的类切换可见性。
答案 0 :(得分:0)
我确定您已尝试使用
display:block;
而不是
visibility:visible;
在你的CSS中。