如何在controller.js中检查
如果所有字段都为空且未选择选择选项,则希望出现警报框,而不是单独进行验证。
谢谢。
ng-submit="submit(field)"
中的所有字段是否为空?它们包括几个文本框和一个选择字段。如果所有字段都为空且未选择选择选项,则希望出现警报框,而不是单独进行验证。
谢谢。
ng-submit="submit(field)"
中的所有字段是否为空?它们包括几个文本框和一个选择字段。虽然不完全符合您的要求,但也许$pristine
是您想要的?它是表单上的一个标志,指示表单是否曾经被编辑过。如果有人输入并清除了一个字段,$pristine
仍将为false。
<form name="myform" ng-submit="doSubmit()" ng-controller="FormController">
<input ng-model="firstName" name="firstName" />
</form>
.controller('FormController', function($scope){
$scope.doSubmit = function(){
if($scope.myform.$pristine){}
}
})
另外,您可以将所有字段设置为required="true"
,并像上面描述的那样在表单中使用$valid
标志。
ng-show="!yourfield.length"
类似这样:
<form name="yourform">
<input name="yourfield" ng-model="somefield" ng-minlength="10" required>
<span ng-show="!yourfield.myfield.$error.required">Something</span>
</form>
如果所有字段都为空,则以下内容将显示警报
angular.module('app', [])
.controller('FormController', function($scope) {
$scope.doSubmit = function(){
if (formIsEmpty($scope.myform)){
alert('You forgot to enter something before submitting');
}
};
function formIsEmpty(form) {
for (var prop in form) {
if (!form.hasOwnProperty(prop)) { continue; }
if (prop[0] === '$') { continue; }
if ($scope[prop]) { return false; }
}
return true;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<form name="myform" ng-submit="doSubmit()" ng-controller="FormController">
<input ng-model="firstName" name="firstName" />
<input ng-model="lastName" name="lastName" />
<textarea ng-model="description" name="description"></textarea>
<button type="submit">Submit</button>
</form>
</div>