如何防止表单提交,如果条件为真,请查看我的实现,我不想提交表单,直到字段有value.How使用AngularJS完成任务?
form.html
<div class="panel panel-default" ng-keypress="entityClosure($event)">
<div class="panel-heading">
<div class="panel-title">
<div ng-show="editMode">Process Details</div>
<div ng-hide="editMode">Create New Process</div>
</div>
</div>
<div>
<div class="panel-body">
<div class="row">
<form name="createProcessFormName" id="createProcessForm" name="form" role="form" class="form-horizontal" kendo-validator="validator" k-validate-on-blur="false" k-options="myValidatorOptions" ng submit="validate($event)">
<div class="panel-body formHeight">
<div>
<p class="status {{ validationClass }}">{{validationMessage}}</p>
</div>
<div class="row">
<div class="form-group col-md-6 fieldHeight">
<label for="countries" class="col-md-5 required">Geographic Locations:</label>
<div class="col-md-7">
<div multiselect-dropdown-tree ng model="nonPersistentProcess.geoLocations" disable-children="true" options="treeviewOptions">
</div>
<p class="text-danger" ng-show="geoLocationRequired">GeoLocation is required</p>
</div>
</div>
</div>
<div class="panel-footer">
<span>
<button ng-hide="editMode" class="btn btn-primary pull-right" type="button" ng-click="validate($event)">Save</button>
</span>
</div>validate.js
$scope.validate = function (event) {
event.preventDefault();
if(!$scope.nonPersistentProcess.geoLocations.length){
$scope.geoLocationRequired = true
}
}发布于 2015-05-19 18:59:05
在angularjs中使用$valid表单属性
$scope.validate = function (event, valid) {
event.preventDefault();
if(valid){
if(!$scope.nonPersistentProcess.geoLocations.length){
$scope.geoLocationRequired = true
}
}
};在模板上,您需要传递表单。$valid。例如;
<span>
<button ng-hide="editMode" class="btn btn-primary pull-right" type="button" ng-click="validate($event, createProcessFormName.$valid)">Save</button>
</span>https://stackoverflow.com/questions/30333702
复制相似问题