client_side_validations
程序员文章站
2022-07-16 08:50:06
...
client_side_validations是一个rails3下比较不错的前台校验插件。 它能把模型中的校验做为前台的校验,更支持自定义校验,支持像SimpleForm 和Formtastic等的Formbuilders。
安装
Gemfile中加入一下代码:
gem 'client_side_validations', '~> 3.0.2'
然后运行bundle install
初始化
rails g client_side_validations:install
以上这个命令会拷贝两个文件到项目中,分别是:
config/initializers/client_side_validations.rb
public/javascripts/rails.validations.js
用法:
在layout中包含rails.validations.js:
<%= javascript_include_tag 'jquery', 'rails.validations'-%>
比如有模型Book, 后端校验如下:
class Book < ActiveRecord::Base
validates :name. :presence => true
end
打开form的验证开关, 就可以看到js的校验效果了:
<%= semantic_form_for @book, :validate => true do |form| -%>
<%= form.inputs do %>
<%= form.input :name %>
<% end %>
<%= form.buttons do %>
<%= form.commit_button true %>
<% end %>
<% end %>
如果不想使用前台校验,设置 :validate => false
即可。
接下来你就可以看看效果了。更具体的文档请看github项目地址:https://github.com/bcardarella/client_side_validations
文章转自 http://www.thoughtrails.com/gems/client_side_validations