SimpleForm + ClientSideValidations + bootstrap – 表单上没有validation – 所有输入都被接受
我在RoR应用程序中使用SimpleForm,ClientSideValidations和ClientSideValidations-SimpleForm gems。 我可以将表单精美地渲染到模态中,但是当输入失去焦点时,不会进行validation并提交表单。 另请注意,我尝试使用此处的修复程序: http : //www.ddarrensmith.com/blog/2012/05/17/ruby-on-rails-client-side-validation-with-validation-helpers-and- Twitter的引导/
包含表单的视图的片段:
我的Gemfile
gem 'rails', '3.2.1' gem 'jquery-rails' gem 'carrierwave' gem 'simple_form' gem 'client_side_validations' gem 'client_side_validations-simple_form'
模型
class Discrepancy true validates :status, :presence => true validates :description, :presence => true validates :system, :presence => true validate :close_date validates_inclusion_of :status, :in => STATUSES, :message => "must be one of: #{STATUSES.join(', ')}" end
application.js文件
//= require jquery //= require jquery_ujs //= require rails.validations //= require rails.validations.simple_form //= require_tree .
我还确认脚本标签是在表格正下方的html中生成的。 谢谢您的帮助!
所有逻辑都应用于具有可见输入的表单。 由于您的输入在页面加载时不可见,因此不会附加任何事件。
以下对我有用:
$('#myModal').on('shown', function () { $(ClientSideValidations.selectors.forms).validate(); });
README实际上详细说明了一个更具体的function:
$(new_form).enableClientSideValidations();
https://github.com/bcardarella/client_side_validations#enabling
在较新的引导版本上:
$('#myModal').on('shown.bs.modal', function () { $(ClientSideValidations.selectors.forms).validate(); });