6

Ich habe herum gespielt und konnte es nicht zum Funktionieren bringen. Ich habe eine eckige Form erstellt und konnte die Validierung aktivieren, wenn das Attribut required dem Textfeld hinzugefügt wurde. Wenn jedoch ein Eingabetyp file mit required Attribution hinzugefügt wird, bemerkte ich, dass der $error.required Text angezeigt wird, aber es Validierung nicht selbst wenn eine Datei ausgewählt ist. Es wird immer noch als ungültig angezeigt, auch nachdem eine Datei hinzugefügt wurde. Ich habe ein Beispiel in Jfiddle erstellt, so dass Sie dies überprüfen können: http://jsfiddle.net/Alien_time/kxSaz/6/Validierung funktioniert nicht für Dateieingabe mit "Erforderlich" -Attribut- AngularJS

Doesnt Validierung für Dateieingaben funktionieren? Wie kann ich eine erforderliche Option hinzufügen und überprüfen, wenn Sie Datei auswählen?

Antwort

13

ngModelController unterstützt derzeit keine Eingabe typ = Datei.

Sie können Ihr Problem mit einer benutzerdefinierten Anweisung lösen.

app.directive('validFile',function(){ 
    return { 
    require:'ngModel', 
    link:function(scope,el,attrs,ngModel){ 
     el.bind('change',function(){ 
     scope.$apply(function(){ 
      ngModel.$setViewValue(el.val()); 
      ngModel.$render(); 
     }); 
     }); 
    } 
    } 
}); 

see usage here

+0

Brilliant! Das funktioniert! Ich danke dir sehr! :) – Neel