代码之家  ›  专栏  ›  技术社区  ›  tsdbrown

rails:form.error_messages不将自定义验证字段包装在fieldwithorrs分区中

  •  0
  • tsdbrown  · 技术社区  · 16 年前

    我有一个使用低水平的模型 validate_on_create 方法,基于一个简单的条件,我将向字段添加一条错误消息,例如

    self.errors.add(:expiry_date, "is too soon") if self.expiry_date && self.expiry_date < Date.today + 1.week
    

    在保存失败后呈现视图“new”时,字段不会被 error_messages_for 如我所料。错误显示在通常的错误列表中,这些错误表明验证工作正常。

    有人知道这是为什么吗?我猜 form.error_messages 不是在查看对象上的所有错误吗?

    添加了请求的代码:

    <% form_for([:solicitor, @policy]) do |form| %>
      <%= form.error_messages :message => "See the list of reasons below to find out why not:", :header_message => "Sorry but we cannot yet create your policy  based on the information you've provided." %>
      <%= render :partial => 'form', :locals => {:form => form} %>
    <% end %>
    
    2 回复  |  直到 16 年前
        1
  •  4
  •   BJ Clark    16 年前

    你的问题很可能是:

    1. 您没有为正确的选项传递表单\u。
    2. 您正在重定向回表单,而不是呈现。
    3. 您没有使用用于构建器的表单(即文本字段标记而不是F.TEXT字段)

    但是,如果没有发布完整的控制器/视图,我基本上只是猜测。

        2
  •  0
  •   tsdbrown    16 年前

    问题是形式偏误。我应该贴 全部的 有问题的代码,因为我确信如果我做了比克拉克或其他人很容易发现我犯的愚蠢错误。

    吸取教训!

    推荐文章