在表单中,“必需:true”不起作用

时间:2015-08-04 22:19:05

标签: ruby-on-rails simple-form

我正在制作Rails应用,但我遇到了这个问题

在我的表单中,我正在尝试创建一些字段,但它无法正常工作。

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

4 个答案:

答案 0 :(得分:37)

如果您在输入中放置required: true,您会看到该字段包含&#34; required&#34; class和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 adapter

答案 1 :(得分:3)

将此添加到f.input input_html: { required: true }

设置config.browser_validations = true

Reset rails server。 &lt; - 这花了我一段时间才意识到,因为每次启动服务器时都会运行一次配置

答案 2 :(得分:0)

将以下行添加到模型中对我有用:

validates :name, presence: true

https://guides.rubyonrails.org/active_record_validations.html#valid-questionmark-and-invalid-questionmark

答案 3 :(得分:0)

请注意,required: true不是require: true