在fastadmin中使用的是nice-validator验证器,默认是验证表单中所有添加有验证规则的元素。如何在表单提交时不验证隐藏的元素呢?在nice-validator的选项中有一个ignore的选项。我们配置该值即可。
首先打开控制器对应的js文件,在Form.APi.bindevent之前添加如下代码:
$('form[role=form]').validator({ ignore: ':hidden' });
上面即可在提交时不验证所有不可见的元素。
但是实际操作中,需要代码进行改进:
$('form[role=form]').data("validator-options", { ignore: ":hidden" });
当然这个ignore功能不仅仅这么简单,有些时候我们还可以忽略指定规则的元素,比如:
$('form[role=form]').validator({ ignore: '.custom' });
上面即是忽略所以class含有custom的元素。
如果我们想动态的改变表单需要忽略的元素,可以使用:
$('form[role=form]').data('validator').options.ignore = '#input2';
这个动态改变忽略验证的元素可以使用在一些类型切换时的相关元素验证。
更多nice-validator的选项请前往其官网查看:https://validator.niceue.com/docs/options.html
添加新评论