【问题标题】:Rails Validation for Username and EmailRails 验证用户名和电子邮件
【发布时间】:2014-06-20 05:44:54
【问题描述】:

我对用户名和电子邮件有以下验证规则。

validates :username,
    presence: {:message => "Please choose a username.", on: :update},
    uniqueness: {:message => "Username already exisits. Please select a different one."},
    length: {in: 3..15, :message => "Username should be 3-5 characters long", :allow_blank => true}

    validates :email,
      presence: {:message => "Please enter your Email Address."},
      uniqueness: {:message => "Email Address already exisits. Please Login!"}

    validate :email_regex
        def email_regex
            if email.present? and not email.match(/\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/)
                errors.add :email, "Please enter a valid Email Address."
        end
    end

对于用户名:除了小写字母、点、数字,我不希望允许任何其他内容。

我是否需要编写一个完全不同的验证消息,例如 email_regex,或者是否有一个简化版本我可以使用在我现有的规则中附加一个逗号','

【问题讨论】:

    标签: ruby-on-rails validation


    【解决方案1】:

    你可以使用类似的东西:

    validates :username, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i}
    

    为您现有的用户名验证添加逗号分隔选项格式。我错过了另一件事,这是虚拟正则表达式,您需要根据您的目的申请。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多