2016-06-17 62 views
-1

我嘗試在Rails4中進行確認驗證,但它無法正常工作。 當我提交表單的消息是「電子郵件確認不能爲空」,而不是「郵件不匹配確認」 這裏是我的代碼:Rails驗證 - 確認不正確

enter code here 
#model user.rb 
class User < ActiveRecord::Base 
validates :email, confirmation: true 
validates :email_confirmation, presence: true 
end 

#view  
<div class="field"> 
<%= f.label :email_confirmation %><br> 
<%= f.text_field :email_confirmation %> 
</div> 
#controller 
def create 
@user = User.new(user_params) 
respond_to do |format| 
if @user.save 
format.html { redirect_to @user, notice: 'User was successfully created.' } 
format.json { render :show, status: :created, location: @user } 
else 
format.html { render :new } 
format.json { render json: @user.errors, status: :unprocessable_entity } 
end 
end 
end 
+0

「email」字段在哪裏?我在這裏只能看到'email_confirmation',並且在場驗證會給出「不能空白」的消息。 –

+0

<%= f.label :email %>
<%= f.text_field :email %>

回答

0

您可以創建一個自定義的驗證檢查兩個字段相同

validate :check_email 

def check_email 
    errors.add(:email_comfirmation, "Test message") if email == email_confirmation 
end