我试图添加parsley.js到rails项目做客户端表单验证,似乎不能让它工作。
我使用的宝石欧芹rails资产管道- https://github.com/mekishizufu/parsley-rails
gem "parsley-rails"
我在application.js文件
中要求它//= require jquery
//= require parsley
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
然后我将以下内容添加到我希望在
上验证的表单中 <%= form_for :user, :html => {:"data-validate" => 'parsley'} do |user| %>
在html中为表单
生成一个data属性data-validate="parsley"
然后检查地址是否存在:
<%= label_tag :current_address %>
<%= text_field_tag :address, nil, :data => {:"required" => 'true'} %>
呈现带有文本字段
属性的文本字段data-required="true"
然而,当我点击提交时,没有验证发生,而是发出了post请求。我还需要做些什么才能让欧芹在rails 3表单上工作?感谢!
gem使用Parsley-js 1.2.3版本,因为2.0.0仍然是一个候选版本。以下是该版本的文档:http://parsleyjs.github.io/Parsley-1.x/documentation.html
属性有点不同—form_for标签应该是这样的:
<%= form_for :user, :html => {'parsley-validate' => ''} do |user| %>
和文本字段:
<%= text_field_tag :address, 'parsley-required' => '' %>
希望对你有帮助。
更新'parsley-rails' gem现在使用v2.0。
当前版本是2.0.5,文档可以在这里找到http://parsleyjs.org
使用rails gem,你现在需要将data-parsley-validate
添加到表单中,并将required
之类的指令添加到输入中。
在rails表单中,我很幸运地使用了:
<%= form_for @post, :html => {"data-parsley-validate" => true} do |f| %>
<%= f.text_field :title, :placeholder => "Title", :required => true %>
希望这能帮助到一些人,直到parsley-rails在自述中得到一些更好的链接或基本使用文档。
我让香芹在我们的Rails应用程序中工作,通过初始化香芹
$('#form-id').parsley({ 'data-parsley-focus': 'first' });
'data-parsley-focus'是一个选项,如果验证失败,parsley将把光标发送到哪里。
我像你在gemfile中那样包含了gem,但是我的application.js在ujs适配器之后加载了parsley
//= require jquery
//= require jquery_ujs
//= require parsley