代码之家  ›  专栏  ›  技术社区  ›  Sachin R

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

  •  0
  • Sachin R  · 技术社区  · 14 年前

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

    2 回复  |  直到 14 年前
        1
  •  0
  •   John Topley    14 年前

    您可以添加 validates_uniqueness_of 模型验证:

    class Model < ActiveRecord::Base
      validates_uniqueness_of :column
    end
    
        2
  •  0
  •   bjg    14 年前

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

    在模型中

    validates_uniqueness_of :some_attribute
    

    在窗体视图中

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

    如果您真的想要一个警告框(这是一个非常符合您的实际的方法imho),那么您最好使用一个Ajax提交,在其中钩住表单提交,对服务器进行Ajax调用,以通过您自己的方式检查表单的有效性,然后处理服务器返回的结果。 JQuery 及其 form plugin 使之相对容易