J'utilise une expression régulière pour valider certaines entrées de formulaire avec angularjs. J'utilise le ng-pattern
pour cela.L'expression régulière n'agit pas comme prévu
<input type="text" ng-pattern="/^([A-z]){3}$/">
<button type="submit" ng-disabled="demoForm.$invalid">Ok</button>
Si je tape quelque chose pas correspondant à l'expression est pas valide (comme prévu). Si je tape ce qui correspond au motif, il sera valide (comme prévu).
Mais cela ne fonctionne pas du tout comme prévu. Si je ne tape rien (entrée de texte vide) le formulaire est valide, et c'est ce que je veux éviter: Il ne devrait pas être valide.
Des suggestions?
Faire l'entrée 'required'. –
Vous '[A-z]' correspond à '_' et'] '.... Êtes-vous sûr de vouloir les faire correspondre? Vous ne dites pas "exactement 3 * lettres *" avec '/^([A-z]) {3} $ /'. Vous autorisez également les espaces de début et de fin. –
C'était déjà mon idée, mais je pensais qu'il doit y avoir quelque chose de mal avec le motif parce que je dis que je veux EXACTEMENT 3 lettres – nipeco