7
votes

ValidationOptions ne fonctionnant pas avec des gestionnaires personnalisés

J'utilise Durandal / Breeze avec Knockout.

Je travaille sur la validation sur mes entrées avec ko.validation code>. p>

Voici un classique: p> xxx pré>

Celui-ci fonctionne assez bien: lorsque la validation a échoué, la boîte de texte d'entrée est marquée en rouge. p>

Maintenant, je voudrais utiliser un contrat de liaison à la place d'un "simple" valeur code> reliure: p>

var validationErrorsCount = ko.computed(function() {
    if (typeof itinerary() == 'undefined') return;
    var validationErrors = ko.validation.group(itinerary());
    return validationErrors().length;
});


0 commentaires

3 Réponses :


13
votes

Le cadre de validation comporte des crochets pour la liaison de valeur, vous devez appeler xxx

édition: ce n'est pas indéfini https://jsfiddle.net/it3xl/n7aqjor9/


4 commentaires

Êtes-vous sûr de ne pas avoir orthographié? J'ai eu l'erreur Object # n'a pas de méthode 'MakeBinDhandLervalidABLE' . Merci quand même.


C'est une jolie nouvelle fonction API, utilisez-vous la dernière version de Github.com/knockout-contrib/knockout -Validation


Merci beaucoup à vous deux.


Anders, je passe mon violon dans votre message. Pardon. Si vous avez un temps, corrigez votre Jsfiddle.net/bsh6x et le passé.



2
votes

En regardant le knockout-validation.js code> source IT appelle:

MakeBindinghandlerValidable ("valeur") code> Pour faire la valeur code> Binding automatiquement validable. p>

Vous pouvez essayer d'ajouter un appel à MakeBintinghandLervalidABLE code> Pour enregistrer votre gestionnaire: P>

ko.bindingHandlers.dateRW = {
    //dateRW --> the 'read-write' version used both for displaying & updating dates
    init: function (element, valueAccessor, allBindingsAccessor) {
       ...
    },
    update: function (element, valueAccessor, allBindingsAccessor) {
       ...
    }
};

ko.validation.makeBindingHandlerValidatable('dataRW');


0 commentaires

0
votes

validationMessage Reliure avec un élément vide.

Je ne veux pas avoir la zone de texte marquée en rouge.
Parfois, il est admissible d'utiliser un balisage vide supplémentaire (SPAN) avec la validation validationMessage . xxx


0 commentaires