首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >globalize3和easy_globalize3_accessors验证

globalize3和easy_globalize3_accessors验证
EN

Stack Overflow用户
提问于 2012-08-29 20:52:10
回答 2查看 974关注 0票数 3

我正在使用gem: globalize3和easy_globalize3_accessors。我有一个关于验证的问题。例如,我有Post模型:

代码语言:javascript
复制
class Post
  translates :title, :content
  globalize_accessors :locales => [:en, :ru], :attributes => [:title, :content]
  validates :title, :content, :presence => true
end

和表格:

代码语言:javascript
复制
= form_for @post do |f|
  -I18n.available_locales.each do |locale|
    = f.text_field "title_#{locale}"
    = f.text_area "content_#{locale}"

它看起来像是在视图中(如果I18n.locale = :ru):

代码语言:javascript
复制
<form action="/ru/posts" method="post">
  <input id="post_title_ru" name="post[title_ru]" type="text" />
  <textarea cols="40" id="post_content_ru" name="vision[content_ru]"></textarea>

  <input id="post_title_en" name="post[title_en]" type="text" />
  <textarea cols="40" id="post_content_en" name="vision[content_en]"></textarea>

  <input name="commit" type="submit" value="Создать Видение" />
</form>

如果我只用俄语填写字段,则验证通过;如果我想只用英语发帖,并且只填写英语字段(当I18n.locale =:ru时),则验证失败

代码语言:javascript
复制
Title can't be blank
Content can't be blank

据我所知,属性中有一个问题,验证只检查第一个属性:title_ru和:content_ru。而对于其余的属性(:content_en和:title_en),则无法进行检查。

如何让第二个数据验证器检查第一组属性的验证是否未通过?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-29 22:04:47

代码语言:javascript
复制
validate :titles_validation

def titles_validation
  errors.add(:base, "your message") if [title_ru, title_en].all? { |value| value.blank? }
end
票数 5
EN

Stack Overflow用户

发布于 2012-08-29 21:49:10

问题是,globalize3正在为您当前所在的任何语言环境验证标题。如果你想验证每个语言环境(不仅仅是当前的语言环境),你必须显式地为每个语言环境中的属性添加验证器(正如@apneadiving指出的那样)。

您应该能够通过遍历I18n.available_locales来自动生成这些验证器

代码语言:javascript
复制
class Post < ActiveRecord::Base
  I18n.available_locales.each do |locale|
    validates :"title_#{locale}", :presence => true
  end

  ...

end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12178428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档