Подтвердить что ты не робот

Использовать требуемое 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, который проверяет, что я действительно хочу, это не только не работает, но и беспорядочно с моей структурой формы, один из моих элементов исчезает, казалось бы, наугад.

Каков правильный способ использования этого? Документы довольно редкие на этом.

4b9b3361

Ответ 1

Отправляй сообщение:

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

Из того, что, я думаю, вы пытаетесь сделать, я думаю, что вы неправильно используете атрибут ng. Атрибут ng-required необходим, если вы хотите условно потребовать ввод или нет. Я предполагаю, что в вашем случае вы всегда хотите, чтобы этот ввод требовался.

В соответствии с вашими комментариями, если вы не хотите выполнять какие-либо функции, я бы поставил их все в одну функцию

$scope.isFormValid= function(){
    if (form.Slides.length > 0 && myForm.$valid)
        return true;
}

а затем

ng-disabled="isFormValid()"

Это может быть не самое элегантное решение, но оно работает. Дайте мне знать, если это не то, что вы хотели.