gpt4 book ai didi

ruby-on-rails - 如何删除重复的验证错误

转载 作者:行者123 更新时间:2023-12-04 01:21:41 24 4
gpt4 key购买 nike

我在使用注册表单时遇到问题。它是用 SimpleForm 创建的,身份验证是用 Devise 完成的。提交表单时,如果电子邮件或密码为空,则会显示两次错误。在用户模型中,存在对名字、姓氏、个人资料名称、密码和电子邮件的存在验证。这些重复的错误只会出现在空白的电子邮件和密码字段中。任何其他空白字段都会这样说一次。

示例:

# Errors Prohibited This User From Being Saved:

  • Email can't be blank
  • Email can't be blank
  • Password can't be blank
  • Password can't be blank


用户.rb:
    class User < ActiveRecord::Base

devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable

attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name, :last_name, :profile_name

validates :first_name, :last_name, :email, :profile_name, :password, presence: true

validates :profile_name, uniqueness: true,
format: {
with: /^[a-zA-Z0-9_-]+$/
}
has_many :posts

def full_name
first_name + " " + last_name
end
end

注册/new.html.erb:
  <%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>

<div class="formGroupLeft">
<%= f.input :first_name, :input_html => { :class => 'formGroupInput'} %>
</div>
<div class="formGroupRight">
<%= f.input :last_name, :input_html => { :class => 'formGroupInput'} %>
</div>
<div class="formGroupLeft">
<%= f.input :email, :input_html => { :class => 'formGroupInput'} %>
</div>
<div class="formGroupRight">
<%= f.input :profile_name, :input_html => { :class => 'formGroupInput'} %>
</div>
<div class="formGroupLeft">
<%= f.input :password, :input_html => { :class => 'formGroupInput'} %>
</div>
<div class="formGroupRight">
<%= f.input :password_confirmation, :input_html => { :class => 'formGroupInput'} %>
</div>

<div class="formActions">
<%= f.button :submit, "Sign Up" %>
</div>

<% end %>

为什么会这样?我该如何尝试修复它?

最佳答案

看起来你已经指定了设计验证插件,which adds email/password validations.

class User
devise :database_authenticatable, ... :validatable
end

由于您要指定自己的验证,因此我将省略设计可验证插件。

关于ruby-on-rails - 如何删除重复的验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com