1

我想确认密码作为我的模式,然后将其添加到数据库中。我尝试输入太多类型的输入类型,但它不起作用。我没有收到任何错误,但我无法向我的数据库添加任何内容。

这是模型/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>

我尝试输入超过六个带有/不带有符号和数字的字符。如果密码字段和确认字段相同或不同,每次我得到类似的东西都没有关系 在此处输入图像描述

'Gecerli bir deger giriniz' 意思是:'请输入有效值'

有人知道我应该怎么做吗?

4

2 回答 2

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

通过指定pattern: :password您要求用户的密码字面意思是“密码”。要指定您应该使用的长度,'.{3,}'例如:

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

小心!您对电子邮件也有同样的问题,您需要用户在字段中准确输入“电子邮件”一词。看起来 gem "html5_validators" 会将 Rails 模型验证与 HTML5 输入验证绑定,您不必在 HTML 字段上设置手动验证 - https://github.com/amatsuda/html5_validators

于 2014-09-01T13:39:10.590 回答
0

尝试从两个字段中删除“pattern::password”。

于 2014-09-01T13:38:12.537 回答