Использовать требуемое ng vs
У меня есть следующий многопозиционный флажок:
<select
multiple="multiple"
data-ng-model="rightSelected"
data-ng-options="slide as slide.SlideBarcode for slide in form.Slides"
data-ng-required="form.Slides.length > 0"
/>
В моем контроллере я делаю это при инициализации:
$scope.form.Slides = [];
Я хочу, чтобы этот элемент формы был действительным, если в слайд-массиве есть слайды. Они добавляются динамически - некоторые пользователи слайдов могут добавлять слайды.
Но я не понимаю, как работает ngRequired... если я изменю его на data-ng-required="true"
, тогда моя форма будет выглядеть нормально, но, конечно, она не делает то, что я хочу. Если я использую form.Slides.length > 0
, который проверяет, что я действительно хочу, это не только не работает, но и беспорядочно с моей структурой формы, один из моих элементов исчезает, казалось бы, наугад.
Каков правильный способ использования этого? Документы довольно редкие на этом.
Ответы
Ответ 1
Отправляй сообщение:
В чем разница между требуемым и ng-обязательным?
Из того, что, я думаю, вы пытаетесь сделать, я думаю, что вы неправильно используете атрибут ng. Атрибут ng-required необходим, если вы хотите условно потребовать ввод или нет. Я предполагаю, что в вашем случае вы всегда хотите, чтобы этот ввод требовался.
В соответствии с вашими комментариями, если вы не хотите выполнять какие-либо функции, я бы поставил их все в одну функцию
$scope.isFormValid= function(){
if (form.Slides.length > 0 && myForm.$valid)
return true;
}
а затем
ng-disabled="isFormValid()"
Это может быть не самое элегантное решение, но оно работает. Дайте мне знать, если это не то, что вы хотели.