我正在使用带有 Rails 3.1.0的client_side_validations gem。我一直在尝试使用它来验证通过 javascript 小部件设置的隐藏字段。从我在 gem 的 github 页面上读到的内容来看,gem 故意不验证隐藏字段,因为用户无法更正这些字段。我没有成功尝试覆盖此行为。
有没有办法在不修改 client_side_validations 代码(安装 gem 时生成的 init 内容除外)的情况下覆盖特定字段的此行为?
我现在所做的方法是对 gem 中的 validateForm 函数进行轻微修改。当它查找要验证的字段时,它只会抓取可见的元素:
form.find(':input:enabled:visible[data-validate]').each(function()
所以我把它改成了这样:
form.find(':input:enabled[data-validate]').each(function()
这似乎有效。有没有更好的办法?
当用户更正错误时,我无法重新验证隐藏字段。