我想将密码确认为我的模式,然后将其添加到数据库中。我尝试输入太多类型的输入,但它不起作用。我没有收到任何错误,但我无法向我的数据库添加任何内容。
这是model / 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>
我尝试输入超过六个字符,带/不带符号和数字。如果密码字段和确认字段相同或不相同,那么每次我得到类似的东西都不重要
&#39; Gecerli bir deger giriniz&#39;意思是:&#39;请输入有效值&#39;
有人知道我应该做什么吗?
答案 0 :(得分: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模型验证,您不必在HTML字段上设置手动验证 - https://github.com/amatsuda/html5_validators
答案 1 :(得分:0)
尝试从两个字段中删除“pattern :: password”。