我正在使用以下指令,因此我可以在表单中使用SharePoint客户端人员选择器:
https://github.com/jasonvenema/sharepoint-angular-peoplepicker
但是,使用此方法会导致我的表单验证失败,因为我的按钮永远不会出现在禁用状态。如果我删除该字段,验证工作,但我需要该字段。
这是我的按钮:
<button type="button" data-ng-disabled="myForm.$invalid" data-ng-click="save()" class="btn btn-default form-control">SAVE ONLY</button>
这是我的使用指令:
<sp-people-picker name="CC" id="CC" ng-model="vm.cc" min-entries="1" max-entries="20" allow-duplicates="false" show-login="false" show-title="true" min-characters="2" app-web-url="$scope.spAppWebUrl" />
为什么这个由指令控制的字段导致验证失败,因为我的按钮永远不会“启用”?请注意,不需要人员选择器。就像Angular无法“看到”该字段来测试其验证一样。
更新:如果我将字段设置为ng-required =“false”,我的按钮将启用...除非我从人员选择器中删除值,导致它返回到禁用状态,即使这个字段不是必需的!
答案 0 :(得分:0)
这已经解决了,因为onclick要删除,我现在正在将模型重置为空。请注意,由于它是一个数组,格式如下:
$scope.vm.cc = [];