Rails3.1.0でclient_side_validationsgemを使用しています。私はこれを使用して、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()
これはうまくいくようです。もっと良い方法はありますか?
ユーザーが間違いを訂正したときに、非表示のフィールドを再検証できませんでした。