Sie müssen einen benutzerdefinierten Validator hinzufügen, der eine komplexe Validierung basierend auf den Werten anderer Felder im HTML-Code durchführt.
Es wurde versucht, die benutzerdefinierte Validierungsfunktion als Attribut zum Papiereingabeelement hinzuzufügen, aber wird überhaupt nicht aufgerufen.
%Vor% Der Validator muss IronValidatorBehavior
implementieren (siehe Dokumente ) ). Wenn Sie die Validierung automatisch durchführen möchten, müssen Sie außerdem das Attribut auto-validate
festlegen. Um Ihr Ziel zu erreichen, können Sie einen benutzerdefinierten Validator für jede Art von Validierung erstellen, die Sie verwenden möchten. Alternativ können Sie einen generischen benutzerdefinierten Validator erstellen und die Validierungsfunktion bei der Initialisierung festlegen. Hier ist ein Beispiel.
Sie finden ein funktionierendes Beispiel in diesem Plunk .
Ok, meine Antwort ist vielleicht nicht der "Polymer Weg", aber es funktioniert und ist mehr der "traditionelle programmatische" Weg.
Die kurze Liste der Ideen für diese Lösung:
Das ist also ein kurzer Code, den ich aus den obigen Punkten abgeleitet habe:
%Vor%Sie können diesen Code in jeden 'angehängten' oder 'erstellten' Event-Handler einfügen. Aber führe es aus, bevor eine Validierung durchgeführt wird ...
Dann kannst du schreiben
%Vor% Wenn Sie überprüfen möchten, ob Ihr Validator bei der Eingabe registriert ist, navigieren Sie den Dom-Baum in einem beliebigen Dev-Tool und klicken Sie auf
und %code% , um zu sehen, ob Ihr Validator erfolgreich mit der Eingabe registriert wurde. %code%.validator
.hasValidator()
Tags und Links javascript html html5 polymer polymer-1.0