10
votes

Le validateur de bootstrap ne fonctionne pas lorsque la valeur de champ d'entrée est définie avec jQuery .val ()

J'ai un formulaire avec ce champ: xxx pré>

La valeur du champ d'entrée pourrait être copiée à partir d'une autre entrée avec un clic sur un bouton: p>

$('#formdelivery').bootstrapValidator({
       fields: {
            delivery: {
                message: 'Invalid',
                validators: {
                    notEmpty: {
                    },
                    stringLength: {
                        min: 2,
                        max: 100,
                        message: 'you need almost 2 chars and not more than 100'
                    }
                }
            }
});


0 commentaires

4 Réponses :


4
votes

Essayez d'ajouter cela après avoir mis la valeur en elle:

 $('[name=delivery]').change();


1 commentaires

Rien n'est changé également en ajoutant des changements (). Il semble que la validation ne soit effectuée que lors de la première pression sur le bouton. Après cela, changez de valeurs et appuyez à nouveau sur le bouton, l'état de validation n'est plus mis à jour.



9
votes

Comme suggéré par vous, j'ai ajouté le $ ('[nom = livraison]'). Modifier (); après avoir mis à jour le contenu d'entrée pour valider.

J'ai ajouté la ligne de déclenchement. à l'initialisation du validateur de bootstrap: xxx

de cette manière la validation est également effectuée sur l'événement de changement.


3 commentaires

Pouvez-vous ajouter ceci dans la balise HTML?


Je ne pense pas que c'est possible de le déclencher à partir de la balise HTML


Tu m'as sauvé la vie...!



2
votes

Après avoir défini la valeur, appelez simplement Revalidatefield ($ champ) sur le formulaire, fonctionne également lors de la validation des attributs HTML Data-X


0 commentaires

1
votes

Ajouter des données-BV-Trigger dans HTML5:

$('[name=delivery]').change();


1 commentaires

Pour moi, Data-BV-Trigger = "Changer le keoup" était nécessaire. Tu as sauvé ma journée! Merci