Sono di questo codice:problemi con direttiva ngPattern
<form name="test">
<input type="text" ng-model="code" name="code" ng-pattern="/^code_[0-9]+$/"/>
<div ng-show="test.code.$dirty && test.code.$invalid">
Error:
<span ng-show="test.code.$error.pattern">Pattern fail.</span>
</div>
</form>
Ho 2 problemi con questo codice:
stringhe come "code_232", "code_232" "code_232" passare la convalida . Io non sono esperto con regex, quindi questo potrebbe essere un problema semplicemente legato alla regex ho scritto:
/^code_[0-9]+$/
Se mi metto a scrivere "code_23892" (una corretta stringa), ottengo l'errore messaggio mentre i' m ancora scrivendo (
test.code.$error.pattern = true
). C'è un modo integrato per evitare questo? Quindi il mio comportamento è desiderata:
se scrivo "baccalà", e l'ingresso è ancora concentrarsi: nessun errore
se scrivo "cod" e l'ingresso perde il fuoco: errore.
Se scrivo "a", "ca", "coa" ecc .: errore, il motivo è già stato violato.
È già possibile, o ho scritto una direttiva di convalida del custome per raggiungere questo obiettivo?
Grazie in anticipo.
sto usando AngularJS 1.0.5 (rilasciato oggi) ... ng-trim = "false" non funziona – Bruno
Penso che ng-trim sia nuovo in 1.1, che è ancora instabile, sfortunatamente. EDIT: È nel registro delle modifiche 1.1 qui: https://github.com/angular/angular.js/blob/master/CHANGELOG.md#1.1.1 –
+1 Grazie per il tuo aiuto! Aspetterò più risposte prima di accettare la tua risposta. – Bruno