używam pluginu Knockout Validation i ustawienie zauważalny wymagane pomocą przedłużacza:Jak usunąć wzmacniacz z istniejącego obserwowalnego?
myObservable.extend({required:true});
Czy jest możliwe dla mnie, aby usunąć przedłużacz po dodaniu go?
używam pluginu Knockout Validation i ustawienie zauważalny wymagane pomocą przedłużacza:Jak usunąć wzmacniacz z istniejącego obserwowalnego?
myObservable.extend({required:true});
Czy jest możliwe dla mnie, aby usunąć przedłużacz po dodaniu go?
Można usunąć wszystkie walidacji dotyczy właściwości tworzą obserwowalne, które zostały dodane przez walidacji ko z numerem:
myObservable.extend({validatable: false});
Albo jeśli chcesz tylko usunąć wymaganej walidacji można go usunąć z kolekcji rules
:
myObservable.rules.remove(function (item) {
return item.rule == "required";
});
}
Demo JSFiddle.
Ale walidacja ko posiada wsparcie dla conditional validation, więc można określić pewne warunki, gdy walidacja powinna działać tak, może to jest to, czego potrzebujesz:
myObservable.extend({
required: {
message: "Some message",
onlyIf: function() { return //some condition; }
}
});
JedynyJeśli to było dokładnie to, czego potrzebowałem, ale co z tym, o co poprosiłem o usunięcie przedłużacza? Czy to jest wspierane przez nokaut? –
Nie, nie można usunąć wzmacniacza, chyba że sam wzmacniacz zapewnia sposób "przywrócenia" własnych zmian. W przypadku sprawdzania ko: wywołanie 'myObservable.extend ({validatable: false});' to właśnie to powoduje usunięcie wszystkich rzeczy związanych z walidacją, które zostały dodane przez '.extend ({required: true}); dowolna z pozostałych zasad. – nemesv
myObservable.rules.remove .. dobry! – JMGH