yotta1
yotta1

Reputation: 295

At forms, "Required: true" is not working

I'm making a Rails app but I'm having this issue

In my form, I'm trying to make required some fields but it is not working.

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

Upvotes: 24

Views: 25377

Answers (3)

Cristian Rennella
Cristian Rennella

Reputation: 727

Be careful, it is required: true NOT require: true

Upvotes: 5

LifterCoder
LifterCoder

Reputation: 152

add this to the f.input input_html: { required: true }

after setting config.browser_validations = true

Reset rails server. <-- this took me awhile to realize since config are run once every time you start the server

Upvotes: 6

Curtis
Curtis

Reputation: 999

If you place required: true in the input you should see the field has the "required" class and required="required" attribute.

If you're not seeing a required attribute, then check your simple_form initializer (config/initializers/simple_form.rb) and ensure that browser validations are on:

config.browser_validations = true

I believe it's also possible to override the required attribute through the input_html hash, for a single field. For example:

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

Personally, I don't like browser validations. They feel clunky to me. If you're interested in better client-side validations, then check out the judge gem and it's simple_form adapter.

Upvotes: 57

Related Questions