回答
ngModel
指令包含NgModelController
的一個實例,其中包含數據綁定,驗證,CSS更新和值格式設置和解析的服務。如果ngModel
本身不存在,驗證將不起作用。 要使表單驗證正常工作,需要使用name
屬性和表單輸入控件(ngModel)將兩個表單實例發佈到範圍。以下來自Angular文檔的說明解釋如下:
表單是FormController的一個實例。表單實例可以使用name屬性可選地發佈到作用域中。
類似地,具有ngModel指令的輸入控件包含NgModelController的 實例。這樣一個控件實例可以是 ,通過在輸入控件上使用名稱屬性 作爲表單實例的屬性發布。 name屬性指定表單實例上的 屬性的名稱。
這意味着窗體和控件 的內部狀態可用於在視圖中使用標準綁定 原語進行綁定。
這允許我們上述例子中使用這些功能擴展:用戶用 控制相互作用之後顯示
定製錯誤消息(即,當$觸摸設置)定製錯誤消息顯示 在提交表單(提交設置$),即使用戶沒有 與控制
因爲沒有NG-型號,輸入元素未綁定到你的應用程序的範圍內,任何東西。
Angular擁有自己的上下文模型。 (範圍或別的東西)如果你在角度世界以外處理表單,表單不能從角度的角度得到任何信息。
如果您不想使用ng-model,請使用純javascript驗證方法。
ng-model="value"
相互作用限定了該特定元素的值是從角的上下文。它在元素聲明的範圍內檢查value
。例如,我們有onclick="call()"
和ng-click="call()"
方法。 onclick
事件搜索範圍外的角度範圍外的功能,ng-click
事件搜索功能。
<div ng-app="app" ng-controller="Ctr" onclick="call()" ng-click="call()"></div>
<script>
function call(){
console.log('out of angular');
}
angualr.app('app', function($scope){
$scope.call = function(){console.log('insode angular')}
})
</script>
在上面的代碼如果刪除onclick
,然後ng-click
打印「裏面的角」,如果刪除ng-click
,然後onclick
打印out of angular
。如果兩者都將在那裏,則兩者都會被調用並打印。 以同樣的方式,如果刪除ng-model,您將失去對角度上下文和$ error中輸入值的控制,$ invalid不知道要驗證的內容。
- 1. 使用ngModel的表單驗證
- 2. Django imageField無法驗證 - 爲什麼?
- 3. 爲什麼.Net IL無法驗證?
- 4. 爲什麼Ldvirtftn無法驗證?
- 5. PHP驗證 - 表單無法驗證
- 6. 爲什麼「onclick ='submit()'」不驗證表單?
- 7. Zend表單 - 爲什麼驗證失敗?
- 8. 爲什麼在Angular 2.1.1中不能使用雙向綁定[(ngModel)]?
- 9. Django表單無法驗證
- 10. 無法驗證新表單
- 11. 使用ngModel進行角度2單選按鈕驗證
- 12. 爲什麼我無法使用OAuth進行身份驗證?
- 13. jQuery表單驗證:爲什麼要驗證兩次?
- 14. 爲什麼不使用jquery驗證此表單?
- 15. 爲什麼這個簡單的XSD無法驗證?
- 16. 簡單的表單無法驗證
- 17. 無法實例化模塊 - Angular UI表單驗證
- 18. Struts 1表單驗證
- 19. Angular JS表單驗證不起作用
- 20. Angular JS表單驗證不起作用
- 21. 爲什麼無法驗證DataGridView中只有字母表的列?
- 22. 爲什麼這個html表格定義無法驗證?
- 23. 任何想法爲什麼此表單驗證觸發錯誤?
- 24. Angular 4:無法綁定到'ngModel'
- 25. 在Angular JS中驗證分頁表單(1.x)
- 26. 我爲什麼要使用Angular 2?與Angular 1相比,它有什麼優勢?
- 27. Angular指令 - 要求ngModel AND表單^
- 28. 如何使用組件和自定義驗證來實現Angular 1表單
- 29. 使用Knockout驗證的表單驗證
- 30. 無法驗證表單提交
你可以使用普通的javascript做表單驗證。 – SaiUnique