javascript - 必填字段未收到 form_for 错误

标签 javascript jquery ruby-on-rails ruby forms

我有一个表单,提交后会运行 sidekiq 工作程序。目前,如果您在空表单上单击“提交”,它会尝试运行工作程序。我想要的是它提醒用户在提交之前需要填写这些字段。

我尝试将 :required => true 添加到表单字段,但这不起作用。我也无法在模型中添加验证。我还能做什么?

表格

<%= form_for @call, :url => {:action => 'call_score_range'} do |f| %>
  <%= f.label :enter_score_range_one %>
  <%= f.number_field :score_range_one %>

  <%= f.label :enter_score_range_two %>
  <%= f.number_field :score_range_two %>

  <%= f.submit "Submit" %>
<% end %>

最佳答案

我能想到的最简单的事情(没有看到你的代码)是向 Controller 操作添加逻辑(:call_score_range?)以手动检查这些字段是否存在,并添加消息到那里的模型,绕过 sidekiq 逻辑。

def call_score_range
  @call = Call.new(params[:call])
  if @call.enter_score_range_one.present? && @call.enter_score_range_two.present?
    # Do sidekiq stuff
  else
    errors = []
    unless @call.enter_score_range_one.present?
      errors << 'Please enter score range one.'
    end
    unless @call.enter_score_range_two.present?
      errors << 'Please enter score range two.'
    end
    flash.now(errors)
    respond_with(@call)
  end
end

关于javascript - 必填字段未收到 form_for 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570707/

相关文章:

javascript - 如何获取h2元素的值

javascript - 通过 JSON 传递给 JavaScript 之前在哪里声明 PHP?

javascript - 常用函数的 jquery 原型(prototype)

jquery - 清除并添加幻灯片/重新初始化 flexslider?

ruby-on-rails - rails 3 : migration error when using json as a column type in an ActiveRecord backed by Postgres

jquery - 自动完成和 Solr

javascript - Jquery + 最新的哈希更改监听器?

javascript - react-native 链接给出错误 no such file or directory info.plist

jquery - 无法控制按钮样式和悬停样式

jquery - 使用 Paperclip 和 Rails 上传之前检查文件大小/类型