javascript - ng-required 不在指令中工作

标签 javascript angularjs angularjs-directive

我已经为表单中的双列表框创建了一个指令(类似于 Bootstrap Dual Listbox )。该指令由 2 个列表框组成;值(左)和选项(右)。我想让该指令与 Angular 形式验证一起使用。如果值为空,则 form.$invalid 为真。

我尝试通过将自定义必需属性传递给指令来执行此操作。

我在将“required”属性应用于指令中的第一个选择框时遇到问题。

Example in jsfiddle

在指令模板中,以下表达式根本不起作用:

ng-required="dlRequired == true"

在示例中,当只有文本框有效时,保存按钮被启用。

我哪里错了?

最佳答案

您在多选中使用了必需属性,如果设置了多个属性,则 required 似乎不起作用,除非您使用一些第 3 部分插件,如 jquery.validate.js。

需要 html5 选择的文档:

http://dev.w3.org/html5/spec-author-view/the-select-element.html#the-select-element

使用 jquery.validate.js 进行多选的示例:

<select name="msopt_name" class="form-control valid" multiple="multiple" data-msg-required="The input field is required." data-rule-required="true"><option value="1" selected="">GeeWorld</option> <option value="2" selected="">EdCo</option> <option value="3">GeeCorp</option> <option value="4">MacFarlane Inc</option> <option value="5">The Alliance</option> <option value="6">Sunny Vale Trailer Park</option> <option value="23">Test</option> <option value="24">Test</option> <option value="25">Test</option></select>

http://plnkr.co/edit/80lAX7uQN3Y87JvtjZ3N?p=preview

希望对您有所帮助!

一些引用:

Can I apply the required attribute to <select> fields in HTML5?

关于javascript - ng-required 不在指令中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144648/

相关文章:

javascript - Snap.svg 只选择一个路径

Javascript 相当于从 Value 创建随机数值

javascript - promise 不适用于 angularjs 中的 IndexedDB

javascript - 重写指令以不使用隔离范围?

javascript - JQM 中的 Pageshow 添加新页面而不删除旧页面

javascript - 如何重写 angular.js 插件中的 Controller 函数

c# - AngularJS 与 Web 服务交互最佳实践

javascript - $scope 在我的导航栏 Controller 中不起作用?

angularjs - 使用 jasmine 测试使用 Controller 的 Angular 指令

angularjs - ng-repeat 中的表达式如何工作?