【问题标题】:Rails Validation Failed -- want to stay on formRails 验证失败 - 想留在表单上
【发布时间】:2015-11-07 07:24:19
【问题描述】:

我有一个表格,我试图在其中验证 date_to 不小于 date_from。验证似乎已被识别,因为当我提交 date_to 小于 date_from 的表单时,我收到以下错误:

验证失败:开始日期必须早于结束日期

但是我不希望验证破坏页面。

目标:

如果验证失败,请停留在表单页面上,并在顶部显示一条描述错误的消息。

型号:

validate :validate_date_from_before_date_to, :on => [:create, :edit, :update]

def validate_date_from_before_date_to
  if self.date_from && self.date_to
  errors.add(:end_date, "Start date must be before end date") if self.date_to < self.date_from
end

结束

控制器:

if @project.save! == false
  redirect_to edit_admin_project(@project)
else
  redirect_to admin_project_path(id: params[:id])
end

我已经检查了类似的问题,甚至一个相同的问题,不幸的是没有运气。

非常感谢任何和所有帮助。谢谢!

【问题讨论】:

    标签: ruby-on-rails forms validation


    【解决方案1】:

    在控制器中

    if @project.save
      redirect_to edit_admin_project(@project)
    else
      redirect_to admin_project_path(id: params[:id])
    end
    

    您可以在表单上显示错误消息

    【讨论】:

    • 太棒了,谢谢!这回答了我的问题。我还有一个给你。如何在视图中发送错误消息?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多