Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS Valdiation不使用人员选择器指令_Javascript_Angularjs_Validation_Sharepoint - Fatal编程技术网

Javascript AngularJS Valdiation不使用人员选择器指令

Javascript AngularJS Valdiation不使用人员选择器指令,javascript,angularjs,validation,sharepoint,Javascript,Angularjs,Validation,Sharepoint,我正在使用以下指令,以便在我的表单中使用SharePoint客户端人员选择器: 但是,使用此选项会导致表单验证失败,因为我的按钮从未脱离禁用状态。如果我删除该字段,验证工作正常,但我需要该字段 这是我的按钮: <button type="button" data-ng-disabled="myForm.$invalid" data-ng-click="save()" class="btn btn-default form-control">SAVE ONLY</button&

我正在使用以下指令,以便在我的表单中使用SharePoint客户端人员选择器:

但是,使用此选项会导致表单验证失败,因为我的按钮从未脱离禁用状态。如果我删除该字段,验证工作正常,但我需要该字段

这是我的按钮:

<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”,我的按钮将启用。。。除非我从人员选择器中删除这些值,否则它将返回到禁用状态,即使此字段不是必需的

这个问题已经解决了,因为onclick要删除,我现在将模型重置为nothing。请注意,由于它是一个数组,因此格式如下:

$scope.vm.cc = [];

尝试检查dom,您应该在元素上有一个类,比如ng invalid-{anything}。它可以帮助我们检测哪个验证器正在使表单无效。它似乎正在将其设置为required。有没有办法重置字段?