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