我有一个多语言项目,比如英语和俄语语言环境。 我想要这样的验证:
example.com/ zh_ / book / new < - 在文本字段中,只有 ASCII 符号可用。
example.com/ ru / book / new < - 在文本字段中,只有西里尔符号可用。
最好的方法是什么?
我有个想法在模特中使用'验证... if ... '。
但如果我有很多模型并且我想添加另一个区域设置,我该怎么做?
也许有一些方法可以将这些验证保存在像i18n * .yml这样的单个文件中?
答案 0 :(得分:1)
您可以编写custom validator并将其包含在您要验证的模型中
I18n.locale
将返回您当前的区域设置
在case
语句中将其用于自定义验证程序中以进行特定于语言的检查
case I18n.locale
when :en
# check for latin characters
when :ru
# check for cyrillic characters
else
return true
end