我有一个表单,我试图验证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
我已经检查了类似的问题,甚至是一个相同的问题,遗憾的是没有运气。
非常感谢任何和所有帮助。谢谢!
答案 0 :(得分:1)
在控制器中
if @project.save
redirect_to edit_admin_project(@project)
else
redirect_to admin_project_path(id: params[:id])
end
在您的表单上,您可以显示错误消息