В чем разница между обязательным и обязательным нг?

В чем разница между required а также ng-required (проверка формы)?

3 ответа

Решение

Элементы формы AngularJS ищут required атрибут для выполнения функций проверки. ng-required позволяет установить required атрибут в зависимости от логического теста (например, требуется только поле B - скажем, номер студента - если поле A имеет определенное значение - если вы выбрали "студент" в качестве выбора)

В качестве примера, <input required> а также <input ng-required="true"> по сути одно и то же

Если вам интересно, почему это так, (а не просто сделать <input required="true"> или же <input required="false">), это связано с ограничениями HTML - required Атрибут не имеет ассоциированного значения - его простое присутствие означает (согласно стандартам HTML), что элемент является обязательным - поэтому angular нужен способ установить / отменить требуемое значение (required="false" будет недействительным HTML)

Я хотел бы сделать дополнение для ответа Тиаго:

Предположим, вы скрываете элемент, используя ng-show и добавив required атрибут на то же самое:

<div ng-show="false">
    <input required name="something" ng-model="name"/>
</div>

выдаст ошибку что-то вроде:

Недопустимый элемент управления формы с именем ='' не может быть сфокусирован

Это потому, что вы просто не можете навязать required проверка на hidden элементы. С помощью ng-required облегчает условно применять требуемую проверку, которая просто потрясающая!!

Атрибут HTML required="required" это утверждение, сообщающее браузеру, что это поле необходимо для того, чтобы форма была действительной. (required="required" это форма XHTML, просто используя required эквивалентно)

Угловой атрибут ng-required="yourCondition" означает "isRequired(yourCondition)" и динамически устанавливает для вас атрибут HTML в зависимости от вашего состояния.

Также обратите внимание, что HTML-версия сбивает с толку, невозможно написать что-то условное, как required="true" или же required="false" имеет значение только наличие атрибута (присутствует означает истина)! Здесь Angular поможет вам ng-required,

Другие вопросы по тегам