0

インラインで表示される複数の入力フィールドを持つコントロール グループを持つフォームがあります。これらのフィールドの 1 つにエラー検証があります。残念ながら、それはコントロール グループの真ん中にあり、いくつかのクレイジーな設計上の理由 (私の呼び出しではありません) により、グループの右端に移動することはできません。したがって、デフォルトのように個々の入力フィールドではなく、コントロール グループ全体にエラー メッセージを追加したいと思います。だから私の質問は:

1)簡単で邪魔にならない方法で行うことは可能ですか?構成ファイルのみを変更しますか? 私は干渉しようとしました:

config/initializers/simple_form_bootstrap.rb

しかし、私ができる最善のことは次のとおりです。

config.wrappers :none, :tag => false do |b|
  b.use :html5
  b.use :placeholder
  b.use :label
  b.use :input
end
config.wrapper_mappings = { some_input: :none }

送信をクリックするとエラーメッセージが消えることを除けば、ほとんど機能しています。他の試行では、フォームがまったく表示されませんでした。

2) エラー メッセージを表示する div を明示的に指定する方法で、シンプル フォームやクライアント側検証の動作を変更するにはどうすればよいですか? これは、不正な入力フィールドのどこかにエラーが表示されるという考えと矛盾することは承知していますが、この 1 つのフォームのためだけにカスタム検証を書きたくありません。

4

1 に答える 1

1

ブートストラップと単純なフォームを再インストールする必要があると思います。

このコマンドを試すことができます:

rails generate simple_form:install --bootstrap

または、私のラッパー設定を参照できます

 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 |ba|
      ba.use :input, class: 'form-control'
      ba.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
      ba.use :hint,  wrap_with: { tag: 'p', class: 'help-block' }
    end   end
  • デフォルトのラッパー: config.default_wrapper = :bootstrap
  • css ファイルの属性を確認してください
于 2013-08-10T17:25:56.607 に答える