Ich habe eine eckige Form zwischen mehreren Tabs mit eckiger UI-Direktive.
%Vor%Bitte sehen Sie meinen Plunker .
Wie Sie sehen, funktioniert nur die Eingabe außerhalb von Tabs. Die Validierung anderer Eingaben funktioniert nicht, da TABS Bereiche erstellt. Irgendwelche Ideen, wie man dieses Problem löst?
Aus den ngForm-Anweisungen :
In Angular können Formulare verschachtelt werden. Dies bedeutet, dass die äußere Form gültig ist, wenn alle untergeordneten Formulare ebenfalls gültig sind. Browser erlauben jedoch keine Verschachtelung von
<form>
-Elementen, daher stellt Angular diengForm
-Direktive zur Verfügung, die sich identisch mitform
verhält, aber verschachtelt werden kann.
Dies bedeutet, dass Sie Ihr campaignForm
-Formular für jede Registerkarte in Unterformulare zerlegen können:
Dadurch wird der Fall umgangen, bei dem die Anweisung tabs (oder eine andere Direktive, die den isolate-Bereich verwendet) den Bereich Ihres ngFormControllers durchbricht.
Obwohl es alte Post ist, aber ich dachte, es würde jemandem helfen
%Vor%Ich habe eine verschachtelte Controller in PARAM_1.html und PARAM_2.html mit Formularnamen als hinzugefügt firstForm und secondForm.
Im Controller-Code von firstForm und secondForm habe ich eine Watcher-Funktion wie folgt platziert:
%Vor%Das obige Stück Code wird in den verschachtelten Controller für firstForm und secondForm platziert. Dieses Stück kann erkennen, ob die Form validiert wurde oder nicht. Es informiert das Hauptformular (myForm).
Mit diesem können Sie die Aktivierung und Deaktivierung oder Schaltflächen auf dem Hauptformular steuern, bis alle Unterformulare erfolgreich validiert sind.
Hinweis: setValidationCount und decrementValidationCount sind zwei Methoden im Hauptcontroller, die das Aktivieren und Deaktivieren von BUTTONS auf dem Hauptformular steuern.
Tags und Links angularjs angularjs-directive