web-dev-qa-db-ja.com

フォームで、「必須:true」が機能しない

Railsアプリを作成していますが、この問題が発生しています

私のフォームでは、必須フィールドをいくつか作成しようとしていますが、機能しません。

<%= f.input :name, required: true, label: false, placeholder: "Name", input_html: {class: "form-control"} %>
17
yotta1

入力にrequired: trueを配置すると、フィールドに「必須」クラスとrequired="required"属性があることがわかります。

required属性が表示されない場合は、simple_formイニシャライザ(config/initializers/simple_form.rb)を確認し、ブラウザの検証がオンになっていることを確認してください:

config.browser_validations = true

単一のフィールドに対して、input_htmlハッシュを通じて必須属性をオーバーライドすることも可能だと思います。例えば:

<%= f.input :name, label: false, placeholder: "Name", input_html: { class: "form-control", required: true } %>

個人的には、ブラウザの検証は好きではありません。彼らは私に不格好に感じます。より優れたクライアント側の検証に興味がある場合は、 judge gem をチェックしてください。これは simple_formアダプター です。

43
Curtis

これをf.inputに追加しますinput_html: { required: true }

config.browser_validations = trueを設定した後

Reset Rails server。 <-サーバーを起動するたびにconfigが1回実行されるので、これに気付くのにしばらく時間がかかりました

4
LifterCoder