2014-09-01 70 views
1

我想確認密碼爲我的模式,然後將其添加到數據庫。我試圖輸入太多的輸入類型,但它不起作用。我沒有得到任何錯誤,但我不能添加任何東西到我的數據庫。Ruby on Rails:密碼確認無法正常工作

下面是模型/ user.rb

class User < ActiveRecord::Base 
has_secure_password 

...

validates :first_name, presence: true 
validates :last_name, presence: true 
validates :email, presence: true, 
        uniqueness: {case_sensitive: false}, 
        email: true 

validates :password, presence: true, 
      length: {minimum: 6} 
end 

電子郵件字段工作沒有任何問題。在這裏我的觀點頁面。

<div class="large-12 columns"> 
     <%= form.label :email %> 
     <%= form.email_field :email, required: true, 
            pattern: :email %> 
    <small class="error"> Invalid value</small> 
    </div> 

    <div class="large-6 columns"> 
     <%= form.label :password %> 
     <%= form.password_field :password, required: true, 
              pattern: :password %> 
    <small class="error"> Gecerli bir deger giriniz'</small> 
    </div> 

    <div class="large-6 columns"> 
     <%= form.label :password_confirmation %> 
     <%= form.password_field :password_confirmation, required: true, 
                pattern: :password %> 
    <small class="error"> Gecerli bir deger giriniz</small> 
    </div> 

我試圖輸入超過六個字符有/無符號和數字。如果密碼字段和確認場均相同或不相同也不要緊,每次我得到類似的東西 enter image description here

「Gecerli井deger giriniz」的意思是:「請輸入有效值」

有人知道我應該做?

回答

2
<%= form.password_field :password, required: true, 
              pattern: :password %> 

通過指定pattern: :password您需要用戶的密碼實際上是「密碼」。要指定你應該使用'.{3,}'的長度,而不是像:

<%= form.password_field :password, required: true, 
              pattern: '.{3,}' %> 

當心!您遇到與電子郵件相同的問題,您需要用戶在該字段中輸入準確的單詞「email」。看起來像gem「html5_validators」將通過HTML5輸入驗證綁定Rails Model驗證,您不必在HTML字段上設置手動驗證 - https://github.com/amatsuda/html5_validators

0

嘗試從兩個字段中刪除「pattern::password」。

相關問題