表单提交后的rails验证确认

时间:2012-03-26 02:06:15

标签: ruby-on-rails forms validation

我有一个带日期的表单,如果他们在一个范围之外提交表单,我想提示用户,但仍然让他们有机会在范围之外提交。

例如(伪代码)

if date < start_date and current_user.admin?
  answer = ask 'are you sure you want to submit below the date range?'
elsif date > end_date
  answer = ask 'are you sure you want to submit over the date range?'
else
  answer = 'yes'
end

if answer == 'yes'
  submit
else
  return to original form
end

我在想一个解决方案是一个多表单向导类型的实现,但有更简单的方法吗?

例如,首先我会显示带有日期字段的原始表单。然后当用户点击“提交”按钮时检查服务器是否必须要求用户确认他们超出范围日期,如果是,则显示部分并等待他们点击“确认”或“是”按钮。

1 个答案:

答案 0 :(得分:0)

对我来说,听起来你应该在你提交表格的控制器中有一个中间动作。此中间操作验证表单参数,并呈现部分或仅相应地提交表单。部分提交按钮将包含指向提交的最终操作的链接。