在原生JS中,若是要作一個表單的驗證/校驗,
客戶端校驗:react
<body> <div class="form-group m-2"> <form action=""> <h4>測試表單</h4> <label for="input1"></label> <input type="text" id="input1" class="form-control"> </form> </div> <button id="btn1" class="btn btn-primary m-2">點擊驗證</button> <p id="test"class="m-2"></p> </body> <script> let btn1 = document.getElementById('btn1'); btn1.addEventListener('click', function () { let p = document.getElementById('test'); let input1 = document.getElementById('input1'); // 獲取輸入值 並驗證 if(input1.value.length<4){ p.innerHTML='密碼不能低於四位'; } else{ p.innerHTML= "驗證經過" } }) </script>
可見,這樣比較麻煩。api
<body> <div class="form-group m-2"> <form action=""> <h4>測試表單</h4> <label for="input1"></label> /* 這裏添加了HTML內置的表單驗證屬性,不寫一行腳本,就能作到相似的事情*/ <input type="text" id="input1" class="form-control" minlength="4"> </form> </div> </body>
Angular提供的模板驅動表單,就是一種創建在HTML內置校驗基礎上的 簡單校驗方式。ide
由於他很簡單啊!性能
HTML5的內置校驗,就是爲了提升性能,減小沒必要要重複工做而來。特色就是:不寫一行腳本,也能進行用戶數據(的客戶端)校驗。Angular模板驅動表單創建在這種基礎上,因此提供了極爲便利的校驗手段。測試
首先考慮這個問題,想驗證表單,層層遞進的思路以下:ui
- 就要考慮要驗證什麼,怎麼驗證,驗證經過什麼手段
- 要驗證form 標籤(總體)、要驗證form標籤內input等獨立輸入域(獨立)、若是form標籤內,內容複雜,可能分爲好幾個輸入域組,那麼也能夠驗證某個組。這就是要驗證什麼
>- 若是單個表單域,好比input標籤的required沒有被知足,那麼驗證不經過、若是一個輸入域組內部的某一個標籤驗證沒經過,那麼驗證不經過、若是form標籤內的某一組驗證不合格,那麼驗證不經過。這就是怎麼驗證。
>- 在Angular中,經過給表單元素添加directive,Angular就爲這個元素建立一個對應的控制對象,經過這個控制對象的屬性,就能或者分別、或者總體的驗證一個form表單內的所用元素。
總結一下就是:code
點這看點更勁爆的!orm