我使用客户端验证 gem 及其 simple_form 插件进行客户端验证。我有一个ActiveModel::Validations
包含的自定义模型并使用 simple_form 来填充它。
<%= simple_form_for @solution, :validate => true, :url => solve_problem_path, :html => { :class => 'form-horizontal' } do |f| %>
<% @solution.fields.each do |label| %>
<%= f.input label, :validate => { :presence => true } %>
<% end %>
<div class="form-actions">
<%= f.submit 'Solve', :class => 'btn btn-primary' %>
</div>
<% end %>
定制型号:
class Solution < OpenStruct
include ActiveModel::Validations
validate do
@table.each do |key, val|
errors.add(key, :blank) if val.blank?
end
end
def fields
@table.keys
end
end
但是客户端验证不起作用(服务器端起作用)。