我有两个具有共享控制器和共享字段定义的视图。我已经为输入元素之一设置了默认值。但是,此元素仅在https://localhost:8449/my-app/#/loanaccount/15/disburse处为“付款”操作呈现。
“批准”操作在https://localhost:8449/my-app/#/loanaccount/15/approve处呈现。提交批准表格时,出现验证错误" The parameter checkNumber has been passed and is not supported for this request"
。似乎“批准”阶段还隐式提交了“支付”中的其他元素。
我想省略此范围参数的提交,但仅适用于批准阶段。在我的控制器中,我有:
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;
});
}
关于如何排除批准阶段的此范围参数的任何指示。
答案 0 :(得分:0)
有多种方法可以解决此问题。
1)您可以生成具有有效参数的另一个对象并发送清除请求。
2)或可以删除不需要的参数,就像这样。
delete scope.formData['checkNumber'];
但是有时候这会导致问题,因为发生了表单引用。
3)或更改“批准规则”以仅验证所需的参数,并在请求中出现任何不需要的参数时忽略(不发回任何异常/错误)。