Я использую Angular с Bootstrap. Вот код для справки:
<form name="newUserForm" ng-submit="add()" class="" novalidate>
<input type="text" class="input" ng-model="newUser.uname" placeholder="Twitter" ng-pattern="/^@[A-Za-z0-9_]{1,15}$/" required></td>
<button type="submit" ng-disabled="newUserForm.$invalid" class="btn btn-add btn-primary">Add</button>
</form>
Bootstrap имеет стили для недопустимых полей в форме input:invalid {.... }
; они пинают, когда поле пусто. Теперь у меня также есть сопоставление с образцом через Angular. Это создает нечетные случаи, когда ": invalid" выключен, но включен ".ng-invalid", что потребовало бы, чтобы я повторно реализовал классы CSS bootstrap для класса ".n-invalid".
Я вижу два варианта, но проблема с обоими
- Сделать Angular использовать какое-то пользовательское имя класса вместо "ng-valid" (я не знаю, как это сделать).
- Отключить проверку html5 (я подумал, что этот атрибут "novalidate" в теге формы должен делать, но не мог заставить его работать по какой-то причине).
Директивы Angular -Bootstrap там не охватывают стиль.