所以我有plnkr。我试图找出如何允许用户能够提交表单,尽管有一个空的“项目组”即使用户能够提交,尽管item.foo
和item.bar
都是空的但不是当其中一个表单控件不为空时。
答案 0 :(得分:2)
将您的模板更改为:
angular.module('plunker', []).controller('MainCtrl', function($scope) {
$scope.myModel = {};
$scope.myModel.items = [];
$scope.myModel.items.push({ foo: 'foo', bar: 'bar' });
}).directive('myDirective', function() {
return {
require: 'ngModel',
scope: {
myModel: '=ngModel',
},
link: function(scope, elem, attrs, modelCtrl) {
},
template: '<ng-form name="add">' +
'<input type="text" name="foo" ng-required="myModel.bar" ng-model="myModel.foo" />' +
'<input type="text" name="bar" ng-required="myModel.foo" ng-model="myModel.bar" />' +
'</ng-form>',
}
})
注意ng-required属性。
这基本上说当bar被评估为true时需要make foo。只有当foo被评估为真时才需要使用条形