【发布时间】:2016-04-04 14:40:31
【问题描述】:
我的表单有两个按钮,分别是“草稿”和“提交”,因此对于草稿,一些验证适用,提交按钮也是如此。我有一个变量 cmpnStatus 它被初始化为值 1。对于 cpmnStatus 的草稿值是 0,对于提交它是 1。
<div class="form-group">
<label>Short Description<span class="red-ast">*</span></label><br/>
<textarea ng-model="shortdesc" ng-change="shortchange(shortdesc)" class="form-control b-rad3" ng-required="cmpnStatus == 0"></textarea>
</div>
<button type="submit" ng-click="campform.$valid && submitDraft(campform)" class="btn btn-draft">Save as draft</button>
<button type="submit" class="btn btn-launch" ng-click="campform.$valid && submitCampaign()">Submit for Approval</button>
下面是 submitDraft 函数的代码。
$scope.submitDraft = function(form){
$scope.cmpnStatus = 0;
if(form.$valid) {
alert("valid");
} else {
alert("invalid");
}
//Then call to save data in db
};
我的问题是当我单击草稿表单时显示有效并将数据保存在 db 中,然后它指向所需的验证,因为 cpmnStatus 的初始值为 1 并且根据条件所需的验证条件失败。我再次单击草稿按钮,现在需要验证工作正常,因为 cpmnStatus 的值从 1 更改为 0。我希望当用户单击草稿按钮并且 cpmnStatus 的值发生更改时,它应该向我显示所需的验证(即使在第一次单击时) 根据条件(ng-required="cmpnStatus == 0")。有没有其他方法可以做到这一点?
【问题讨论】:
-
这个问题我不清楚。请问可以改写吗?
-
@jeff-diederiks 我有两个用于单个表单的按钮,我希望当用户单击一个按钮时,某些验证适用,而当用户单击另一个按钮时,其他验证适用。例如我有两个输入字段,分别是标题和说明,因此当用户单击按钮 1 时,标题应该是强制性的,当用户单击按钮 2 时,两个输入字段都应该是强制性的。
标签: angularjs forms validation