使用ng-required vs required

Nic*_*ros 22 angularjs

我有以下多选框:

<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" 
/>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我在初始化时这样做:

$scope.form.Slides = [];
Run Code Online (Sandbox Code Playgroud)

如果Slide数组中有幻灯片,我希望表单的这个元素有效.这些是动态添加的 - 它是用户可以添加幻灯片的幻灯片.

但是我没有得到ngRequired的东西如何工作......如果我改变它data-ng-required="true"然后我的表格看起来没问题,但当然它不能做我想要的.如果我使用的form.Slides.length > 0是检查我真正想要的东西,不仅这不起作用,而且它与我的表格结构相混淆,我的一个元素似乎随意消失.

使用它的正确方法是什么?这个文档非常稀少.

Nic*_*ise 25

看看这篇文章:

需要和ng-required有什么区别?

从我认为你想要做的,我认为你使用ng-required属性是错误的.ng-required属性适用于您有条件地需要输入的时间.我猜测你总是希望输入是必​​需的.

根据您的意见,如果您不想管理任何功能,我会将所有这些功能放在一个功能中

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

然后

ng-disabled="isFormValid()"
Run Code Online (Sandbox Code Playgroud)

这可能不是最优雅的解决方案,但它有效.如果那不是你想要的,请告诉我.