Rails4 - 如何为用户名制作正则表达式?

时间:2014-11-29 19:38:54

标签: ruby-on-rails regex ruby-on-rails-4

我的用户模型中有用户名,如下所示。用户名不是唯一的。

  validates :name,  presence: true, length: { maximum: 30 }
  validates_length_of :name, :minimum => 6
  validates_format_of :name, :with => /\A[a-zA-Z ]+\z/,  :message => "must contain only letters and space"

我希望用户能够按如下方式为其姓名提供字母和空格,并且还可以防止用户只添加空间并利用用户名。

Valid = "Neil deGrasse Tyson"   
Invalid = "            "
Invalid = "  a         "
Invalid = "b           "
Invalid = "           c"

我该如何实现? 感谢

1 个答案:

答案 0 :(得分:2)

使用可选组而不是允许字符类中的空格字符。

/\A[a-zA-Z]+(?: [a-zA-Z]+)*\z/