2017-05-10 33 views
12

Mam problem z <md-autocomplete> składnik, który jest pokazany w this demo:MD-autouzupełnianie ng-pattern = "..." nie działa

<md-autocomplete ng-pattern="..."> nie działa. Spodziewam się, że jeśli jakiś tekst zostanie wprowadzony do pola Tax (np. zzz) to pole zostanie oznaczone jako czerwone, ponieważ tylko liczby [1..99] są akceptowane przez regex ng-pattern="/^[1-9]\d?$/". Właściwie required działa bez zarzutu: gdy pole jest puste, jest wyzwalane jako nieprawidłowe.

Odpowiedz

11

To wydaje się być to błąd kątowy materiału. Zostało to najwyraźniej poprawione w 1.1.4:
ng-pattern for md-autocomplete #9755

Oto working demo. Wszystko, co zrobiłem, to zaktualizować dwie biblioteki o kątowych materiałach.

https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.4/angular-material.min.js 
https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.4/angular-material.min.css 
2

Wystarczy zmienić swój wzorzec przez: ng-pattern="^[1-9]\d?$"

+0

Próbowałem zmienić to na wzór, który powiedział (patrz [zaktualizowane demo] (https://jsfiddle.net/j9afow1L/5/)), jednak nie ma ono żadnego efektu. Więcej niż '' nie działa tak, jak się spodziewaliśmy (wcześniej oznaczono jako czerwony). Czy mógłbyś zaktualizować wersję demonstracyjną, aby działała? Dzięki! –

2

Problem z ng-pattern został naprawiony w wersji 1.1.14. Zaktualizowałem Demo i dodałem najnowszy angularjs-material.js

Nie zmieniłem ng-pattern, pozostaje taki sam.

ng-pattern="/^[1-9]/" 

Teraz pole zmieni się na czerwone, jeśli zostanie wprowadzony inny niż numer.