Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs 忽略表单提交中的范围参数_Angularjs_Forms_Validation - Fatal编程技术网

Angularjs 忽略表单提交中的范围参数

Angularjs 忽略表单提交中的范围参数,angularjs,forms,validation,Angularjs,Forms,Validation,我有两个具有共享控制器和共享字段定义的视图。我已经为其中一个输入元素设置了默认值。但是,此元素仅在以下位置为“支付”操作渲染 “批准”操作在上呈现。当我提交表单进行审批时,我收到一个验证错误“参数checkNumber已通过,此请求不支持”。似乎Approve阶段也隐式地从Dispurse提交了附加元素 我想省略提交此范围参数,但仅限于Approve阶段。在我的控制器中,我有: switch (scope.action) { case "disburse":

我有两个具有共享控制器和共享字段定义的视图。我已经为其中一个输入元素设置了默认值。但是,此元素仅在以下位置为“支付”操作渲染

“批准”操作在上呈现。当我提交表单进行审批时,我收到一个验证错误
“参数checkNumber已通过,此请求不支持”
。似乎Approve阶段也隐式地从Dispurse提交了附加元素

我想省略提交此范围参数,但仅限于Approve阶段。在我的控制器中,我有:

 switch (scope.action) {
   case "disburse":                              
     resourceFactory.loanTrxnsTemplateResource.get({
       loanId: scope.accountId, 
       command: 'disburse'
     }, function (data) {
       scope.formData.checkNumber="USD"; 
     });
   case "approve":
     scope.taskPermissionName = 'APPROVE_LOAN';
     resourceFactory.loanTemplateResource.get({
       loanId: scope.accountId, 
       templateType: 'approval'
     }, function (data) {
       scope.formData.checkNumber= null;
     });
 }

任何关于如何排除在Approve阶段提交此范围参数的指针

解决这个问题有多种方法

1) 您可以生成另一个具有有效参数的对象并发送clean请求

2) 或者您可以删除不需要的参数,就像这样

delete scope.formData['checkNumber'];
但有时这会导致问题,因为会发生表单引用

3) 或者选择“批准规则”仅验证所需参数,如果请求中出现任何不需要的参数,则忽略(不发回任何异常/错误)