如何验证字段仅包含字母?

时间:2015-04-03 08:43:16

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

我们说我有一个城市'或者' country'输入字段。 如何验证此字段仅包含字母?

目前我正在使用如下空格替换任何最终的数字字符:

def strip_numeric_characters
  self.city = self.city.gsub(/[0-9]/, "")
  self.country = self.country.gsub(/[0-9]/, "")
end

但这不是正确的方法,因为如果有人只输入数字,我最终会输入空字符串。

1 个答案:

答案 0 :(得分:7)

您可以使用validates_format_of验证属性格式,如下所示:

validates_format_of :city, :country, :with => /^[a-z]+$/i

/^[a-z]+$/i仅允许使用字母的城市和国家/地区名称。以下是正则表达式的详细信息。

^     => Start of line
[a-z] => Any single character in the range a-z
+     => One or more characters of the range
$     => End of line
i     => To make case insensitive