2016-05-09 8 views
0

Ich bin neu bei angularjs und ich muss eine einzelne Seite Anwendung entwickeln. Ich habe eine Anforderung der Implementierung der Winkelvalidierung.Implementierung der benutzerdefinierten Validierung beim Klicken auf Speichern und Senden-Button in angularjs

Ich habe 10 Felder (Eingabe, Auswahl und Listbox) auf der Seite und 2 Tasten (Speichern und Senden). Wenn ich auf "Speichern" klicke, sollten 6 Felder (nur zum Beispiel) gültige Werte haben und wenn ich auf "Senden" -Button klicke, sollten 8 Felder aktiviert sein.

Aber Problem ist. Wenn ich form-Tag auf der Seite verwendet habe, dann wie diese Validierung zu implementieren.

Ihre Hilfe wird geschätzt.

Antwort

0

schreiben Dieser Code in einem Controller

obj.hasErrorWithsubmit = function (form, field, validation) { 
    if (validation) { 
     return ($scope.submitted && form[field].$error[validation]); 
    } 
    return (form[field].$dirty && form[field].$invalid) || ($scope.submitted && form[field].$invalid); 
}; 


    obj.hasErrorWithsave = function (form, field, validation) { 
    if (validation) { 
     return ($scope.save && form[field].$error[validation]); 
    } 
    return (form[field].$dirty && form[field].$invalid) || ($scope.submitted ``&& form[field].$invalid); }; 

schreiben in diesen html

ng-class="{'classname':obj.hasErrorWithsubmit(Formname,'fieldname','validationType')}"> 

dh

ng-class="{'classname':obj.hasErrorWithsubmit(myform,'textfield1','required')}"> 

ng-class="{'classname':obj.hasErrorWithsave (myform,'textfield2','required')}"> 

Klassenname ist eine CSS-Klasse, die die Grenze

rot macht

Beim Klicken auf Senden Schaltfläche make $ scope.submitted = true Durch Klicken auf Speichern Schaltfläche machen $ scope.save = true

+0

Vielen Dank für Ihre Hilfe ... Ich werde versuchen, diese Lösung zu verwenden. –

Verwandte Themen