2 votes

Parsley.js - afficher manuellement un message sans avoir à valider

Je veux afficher un message Parsley dans une clause else de mon code javascript:

if ( ...est valide ) {
    //faire des choses
} else {
    //afficher une erreur Parsley
}

Je sais que Parsley permet des validateurs personnalisés comme documenté ici: http://parsleyjs.org/documentation.html#javascript

Mais je veux simplement afficher le message jusqu'à ce que le champ soit modifié. Je pourrais créer un validateur comme ceci:

$( '#myInput' ).parsley( {
    validators: {
      alwaysFalse: function ( val ) {
        return false;
      }
    }
  , messages: {
      myMessage: "Le formulaire n'est pas valide"
    }
});

Mais comment puis-je déclencher ce validateur et seulement ce validateur? (Il y a déjà un autre validateur attaché)

1voto

darbicus Points 96

L'object de vos messages devrait être un miroir de votre objet validateurs mais avec les messages à afficher.

messages: {
  alwaysFalse: "Le formulaire n'est pas valide"
}

et vous pourriez essayer

validateurs: {
  alwaysFalse: function(val){
    return false;
  },
  required: function ( val ) {
    return false;
  }
}

aussi

Attention : vous devez supprimer le code de liaison automatique parsley-validate dans le DOM de vos formulaires pour vous permettre de remplacer le traitement par défaut et utiliser Parsley uniquement depuis JavaScript.

il semble que ce que vous voulez vraiment c'est : http://parsleyjs.org/documentation.html#parsleyfield consultez parsley-error-container

le déclencheur devrait être $( '#myInput' ).parsley( 'validate' );

ou pas 100% sûr de cela mais vous devriez pouvoir appeler chacun comme ceci:

$( '#myInput' ).parsley('alwaysFalse');

et s'ils ont besoin d'entrées ou de données:

$( '#myInput' ).parsley('alwaysFalse','inputs','data');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X