2015-05-23 9 views
6

Il mio problema - c'è una pagina web che è accessibile a tutti. Se l'utente non registrato entra e salva il modulo su submit, c'è una modal d'accesso che richiede l'accesso.forzare asyncvalidators in angularjs

Se l'utente è nuovo lui registrate e la pressa presentano ancora una volta. Se l'utente non è nuovo, effettuerà il login e premere Invia nuovamente.

Se utente visita registrati il ​​nome del modulo pagina viene convalidato con async validatore:

app.compileProvider.directive('nameAvailable', ['$q', '$http', 'service', function ($q, $http, service) { 
     return { 
      restrict: 'AE', 
      require: 'ngModel', 
      link: function ($scope, elem, attrs, ngModel) { 
       ngModel.$asyncValidators.queryName = function (queryName) { 
        --logic 
       } 
      } 
     } 
    }]); 

E se utente registrato ha questo modulo salvato con lo stesso nome, allora fallirà se lo riempie e poi il login .

domanda è - come posso forzare la validazione su quel campo dopo utente accede a?

Una cosa che ho trovato è quello di utilizzare ngModelController e call validate(), ma dove per accedervi in ​​mio controller?

Grazie!

+0

Hai provato usando 'modulo. $ Submitted', per verificare se il messaggio è stato inviato e fare la logica è necessario dopo? – Cyberdelphos

risposta

4

io ho creato il plunker con il campione come convalidare i dati asincroni in modo angolare.

Qui aggiornato plunker con pulsante Convalida.

+0

È lo stesso di quello che ho - ho bisogno di quello vicino al campo di input che ha il pulsante, che esegue una convalida asincrona ancora una volta. – sandris

+0

Controllare la risposta aggiornata. – Mikalai