【问题标题】:How to validate user's input for English alphabet only in Rails?如何仅在 Rails 中验证用户输入的英文字母?
【发布时间】:2015-05-02 03:27:30
【问题描述】:

我正在试验一个 rails 应用程序。我想仅在 Rails 中验证用户对英文字母字符的输入。假设我们有一个注册表单供用户填写:姓名、地址、电子邮件地址。但我希望他们用仅英文字母填写Address form,因为他们中的一些人可能不小心填写了我们不想要的中文字母。

我们可以通过正则表达式来解决这个问题吗?如果是这样,请指导我写这三个案例:(非常欢迎任何其他方式)

1:验证“仅限英文字母”

2:验证“不允许使用汉字”

非常感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails ruby validation activerecord rails-activerecord


    【解决方案1】:

    使用validates_format_of:

    validates_format_of :address, :with => /^[A-Za-z0-9 ]*$/
    

    【讨论】:

    • @Snailwalker 由于您正在验证地址,我假设您将处理字母和数字。我建议使用这个正则表达式来验证字符串: /^[A-Za-z0-9 ]*$/
    • 对于 RoR >= 4 正则表达式将是 /\A[a-zA-Z0-9]*\z/
    【解决方案2】:

    您可以将validatesformat 一起使用:

    validates :address, format: { with: /[a-zA-Z0-9]/}
    

    【讨论】:

      猜你喜欢
      • 2018-07-16
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2019-02-10
      相关资源
      最近更新 更多