如果用户插入重复条目,则阻止重复条目并通过警报框发出警报

时间:2010-07-09 12:17:55

标签: javascript ruby-on-rails

如何在表单提交时阻止数据库中的重复条目并显示警告框并在条目重复时停止表单提交。

2 个答案:

答案 0 :(得分:0)

您可以为模型添加validates_uniqueness_of验证:

class Model < ActiveRecord::Base
  validates_uniqueness_of :column
end

答案 1 :(得分:0)

更惯用的Rails方法是对一组属性进行模型验证,然后在提交表单后显示验证错误消息。如果验证失败,则模型不会保存到数据库中。

在模型中

validates_uniqueness_of :some_attribute

在表单视图中

<% form_for @model do |f| %>
  <%= f.error_messages %>


<% end %>

如果你真的想要一个警告框(这是一个非常面对面的方法恕我直言)那么你可能最好使用一个AJAX提交,你在其中挂钩表单提交,向服务器进行AJAX调用以检查通过您自己的某种方式表单的有效性,然后处理服务器返回的结果。 JQuery及其form plugin使这相对容易做到