我創建了一個Plunker,它顯示一個帶有所需電子郵件字段的簡單表單。驗證在用戶輸入電子郵件時起作用,但在單擊按鈕時有一種觸發驗證的方法。我不想基於表單有效性來禁用按鈕。在ng-click上觸發表單驗證
3
A
回答
1
現在,您將ng-show綁定到每當用戶輸入時都會更改的數據。而是將其綁定到單擊該按鈕時發生更改的數據。以下是我的看法:
$scope.update = function(user) {
$scope.isEmptyEmail = $scope.form.uEmail.$error.required;
$scope.isInvalidEmail = $scope.form.uEmail.$error.email;
};
然後將您的數據綁定到這些新值。
<span ng-show="isEmptyEmail">Tell us your email.</span>
<span ng-show="isInvalidEmail">This is not a valid email.</span>
0
如果我理解正確的話,你有
在HTML:
$scope.update = function(form) {
//form.uEmail.$error.email
//..etc
console.log('update');
};
,並繼續驗證
0
我使用這個:
ng-click="update(form)
在CTRL
方法yself。到目前爲止,這似乎是工作得很好
控制器:
$scope.update = function() {
$('.ng-invalid').addClass('ng-touched');
if ($scope.form.$valid) {
/// submit
}
}
查看:
<ng-form name='form'>
<!-- ... -->
<button type="button" ng-click='update()'>Submit</button>
</ng-form>
0
如果它只是一個表單驗證,與上述類似,但更簡單一點,更少的代碼是:
<input id="id" type="text" name="inputName" required>
<span ng-show="isSubmitted && formName.inputName.$error.required">This field is required</span>
<button id="save" value="Submit" ng-click="formSubmission()">Submit</button>
和在控制器:
$scope.formSubmission = function() {
$scope.isSubmitted = true;
}
通過這種方式,它可以與各個領域的工作,你不必編寫代碼爲每一個需要輸入
相關問題
- 1. Microsoft MVC:手動觸發表單驗證
- 2. Django表單驗證沒有被觸發
- 3. Javascript表單驗證onSubmit不觸發
- 4. 觸發CakePHP多步表單驗證
- 5. 在表單提交上觸發字段驗證
- 6. 如何觸發按鈕單擊angular2上的表單驗證
- 7. 提交Angular4上的觸發器表單驗證
- 8. 表單驗證在引發後未被觸發
- 9. 驗證不會在模態上觸發
- 10. 取消表單版本但不觸發表單驗證程序
- 11. BackboneJS:從表單提交視圖的觸發器表單驗證
- 12. Carrierwave - 存在驗證觸發如果filetype不在白名單上
- 13. 在表單提交中在Rails中觸發自定義驗證
- 14. OmniAuth觸發驗證
- 15. 在未提交表單的情況下觸發歐芹驗證?
- 16. Doctrine電子郵件驗證觸發器在空的表單域
- 17. 在模型更改時觸發自定義AngularJS表單驗證
- 18. 按鈕單擊不觸發表單驗證
- 19. HTML表單驗證 - 出發
- 20. 表單驗證不發送
- 21. jQuery驗證submitHandler觸發器驗證
- 22. AngularJS驗證:如何觸發按鈕單擊驗證?
- 23. HTML 5需要表單上所有按鈕上的驗證器觸發器
- 24. 聯繫表7驗證觸發事件
- 25. 表格驗證器觸發Umbraco
- 26. Zabbix觸發器iregex表達式驗證
- 27. 如何觸發自定義事件以觸發部分表單驗證?
- 28. jQuery驗證不觸發
- 29. 觸發需要驗證angularjs
- 30. 手動觸發jQuery驗證?
不是很方便,如果你有很多領域。但是你的方法很好。 – Sydney
@Sydney我完全同意。如果您計劃進行大量表單驗證,則通過指令或類似方法提供的實際驗證解決方案將會更好。 – Jon7