如何验证Rails模型字符串属性是否属于特定语言字母字符?
感谢。
答案 0 :(得分:2)
有一个名为whatlanguage的库可以识别字符串的语言,例如:
require 'whatlanguage'
"Je suis un homme".language # => :french
开箱即用荷兰语,英语,波斯语,法语,德语,瑞典语,葡萄牙语,俄语和西班牙语,因此它也能识别西里尔语。
答案 1 :(得分:1)
您需要针对正则表达式验证属性的值。
# Only match characters a-z
validates_format_of :attr, :with => /[a-z]/
答案 2 :(得分:0)
validates_format_of似乎对你来说是正确的。 the documentation说:
通过将指定属性的值与提供的正则表达式进行匹配,验证指定属性的值是否正确。
class Person < ActiveRecord::Base
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
end
注意:使用\ A和\ Z匹配字符串的开头和结尾,^和$匹配一行的开头/结尾。
必须提供正则表达式,否则将引发异常。