web-dev-qa-db-fra.com

Sur les formulaires, "Obligatoire: vrai" ne fonctionne pas

Je crée une application Rails mais j'ai ce problème

Dans mon formulaire, j'essaie de rendre certains champs obligatoires, mais cela ne fonctionne pas.

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

Si vous placez required: true dans l'entrée, vous devriez voir que le champ a la classe "requis" et required="required" attribut.

Si vous ne voyez pas d'attribut required, vérifiez votre simple_form initialiseur (config/initializers/simple_form.rb) et assurez-vous que les validations du navigateur sont activées:

config.browser_validations = true

Je pense qu'il est également possible de remplacer l'attribut requis via le input_html hachage, pour un seul champ. Par exemple:

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

Personnellement, je n'aime pas les validations de navigateur. Ils me semblent maladroits. Si vous êtes intéressé par de meilleures validations côté client, consultez le juge gemme et c'est adaptateur simple_form .

43
Curtis

ajoutez ceci au f.input input_html: { required: true }

après avoir défini config.browser_validations = true

Reset Rails server. <- cela m'a pris un certain temps à réaliser car la configuration est exécutée une fois à chaque démarrage du serveur

4
LifterCoder