簡體   English   中英

如何檢查angularjs中的所有字段都是空的

[英]how to check all fields are empty in angularjs

如何檢查提交表單中的所有字段ng-submit="submit(field)"在controller.js中是空的? 它們由少量文本框和一個選擇字段組成。

如果所有字段都為空並且未選擇選項,而不是單獨驗證,我希望發生警告框。

謝謝

雖然它不完全是你所詢問的,但可能是$pristine是你想要的? 它是表單上的一個標志,指示表單是否曾被編輯過。 如果有人輸入然后清除了一個字段,那么$pristine仍然是假的。

<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> 

您應該查找表單驗證 看一下本教程

<input name="name" class="form-control"
    ng-model="user.name" placeholder="Name" required>
  <div class="alert alert-danger"
    ng-show="userForm.name.$error.required">
    Please enter the name.
  </div>

如果所有字段都為空,以下內容將顯示警報

 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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM