5

目前,我的表单看起来像这样,带有一条错误消息(名称是必填字段):

在此处输入图像描述

但我想将“不能为空白”错误放在“名称”旁边,如下所示:

在此处输入图像描述

通过使用以下代码更改默认引导 Simple_form 类,我在“名称”标签和错误方面给了自己更多的自由:

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %>

我对这些课程的 css 是:

  .edit_form_titles{
  display: block;
  margin-bottom: 0px;
  color: #333333;
  }

  .cant_be_blank{
  font-size:12px;
  }

正如我所描述的,关于如何在名称旁边对齐错误消息有什么想法吗?谢谢你的帮助。

4

1 回答 1

5

我设法让我的错误显示在输入框上方的标签中。

使用下面的代码,我给了我的错误一个类,它可以格式化为定位等,但是输入框下总是有一个空白的 div 或其他东西,这使得它下面的其他输入框脱离了关节。

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %>

在我的初始化程序/simple_form.rb 中有:

  config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
    b.use :html5
    b.use :placeholder
    b.use :label
    b.wrapper :tag => 'div', :class => 'controls' do |input|
      input.use :input
      input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
      input.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
    end
  end

我将其更改为:

 config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
    b.use :html5
    b.use :placeholder
    b.wrapper :tag => 'div', :class => 'label-error' do |input|
      b.use :label
      b.use :error, :wrap_with => { :tag => 'span', :class => 'help-block' }
    end
    b.wrapper :tag => 'div', :class => 'controls' do |ba|
      ba.use :input
      ba.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
    end
  end

这消除了输入框下的空白空间,我可以格式化我的 cant_be_blank 类,以便文本恰好出现在我标签中的文本旁边。

于 2013-06-23T22:04:51.743 回答