Valeur minimale pour la saisie sous forme simple
Je veux créer un simple argent d'entrée avec SImpleForm.
Donc, l'argent, le terrain doit avoir une valeur minimale qui est de 0, de sorte que l'utilisateur ne peut pas entrer une valeur inférieure à 0.
Cependant, je ne sais pas comment le définir des valeurs min avec la forme simple.
Je me demande si c'est possible.
source d'informationauteur com | 2014-04-21
Vous devez vous connecter pour publier un commentaire.
Certainement! L' (simplifié) HTML pour le formulaire que vous souhaitez ressemble à quelque chose comme ceci:
Avis les deux propriétés importantes sur le champ de saisie:
min
est définie à 0, parce que vous ne laissez pas les nombres négatifs, etstep
est fixé àany
parce que vous voulez autoriser les décimales. Si vous ne voulait même les montants en dollars, vous pouvez définirstep="1"
par exemple. Aussi, si vous souhaitez définir une valeur max vous pourriez avec l'max
attribut.Remarque importante: ce n'effectue de validation côté client. Il est possible de remplacer cette si vous savez ce que vous faites, alors assurez-vous de toujours valider que les données envoyées avec ce formulaire est valide sur le serveur.
Je ne suis pas un Rubis gars, mais la lecture par le biais de la Forme Simple docsje pense que cela devrait fonctionner:
En supposant que le montant est un type de numéro dans votre modèle, il va automatiquement faire un input[type=nombre] pour vous.
simple_form
permettra de définir les attributs d'entrée basé sur le modèle de validations, ce qui signifie que de votre côté client et côté serveur, les validations de match et couvrir les utilisateurs à la fantaisie moderne, navigateurs compatibles HTML5 de nouveaux types d'entrée et les attributs, et les utilisateurs avec les anciens navigateurs qui ne le font pas.Par exemple, à ce modèle:
Et de ce point de vue:
L'résultant de balisage va ressembler à quelque chose comme ceci (j'ai supprimé certains attributs pour plus de clarté):
Comme indiqué dans une autre réponse, si vous voulez remplacer les attributs par défaut, vous pouvez utiliser le
input_html
option lors de l'appel de#input
:Pour @georgebrock la réponse de travailler, en simple_form.rb (ou quel que soit le nom que vous utilisez, pourrait être simple_form_bootstrap.rb) vous avez besoin de changer:
:
Pour l'emballage utilisé pour attirer l'entrée.
L ' "option" désigne simple formulaire à utiliser les composants, mais ne recherche automatiquement, vous permettant de spécifier :min et max params sur l'entrée manuellement.