Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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"} %>
like image 354
yotta1 Avatar asked Aug 04 '15 22:08

yotta1


3 Answers

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.

like image 191
Curtis Avatar answered Nov 05 '22 13:11

Curtis


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

like image 27
LifterCoder Avatar answered Nov 05 '22 15:11

LifterCoder


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

like image 3
Cristian Rennella Avatar answered Nov 05 '22 15:11

Cristian Rennella