Angular從零到一2.5 驗證結果的樣式自定義
2.5 驗證結果的樣式自定義
如果我們在開發工具中檢視網頁原始碼,可以看到經過渲染後的控制元件HTML程式碼,如圖 2.11所示。
圖 2.11 驗證的樣式
使用者名稱控制元件的HTML程式碼是下面的樣子:在驗證結果為false時input的樣式是ng-invalid:
<input
name=”username”
class=”ng-pristine ng-invalid ng-touched”
required=””
type=”text”
minlength=”3″
ng-reflect-minlength=”3″
ng-reflect-name=”username”>
類似地可以實驗一下,填入一些字元滿足驗證要求之後,看input的HTML是下面的樣子,在驗證結果為true時input的樣式是ng-valid:
<input
name=”username”
class=”ng-touched ng-dirty ng-valid”
required=””
type=”text”
ng-reflect-model=”ssdsds”
minlength=”3″
ng-reflect-minlength=”3″
ng-reflect-name=”username”>
知道這個後,我們可以自定義不同驗證狀態下的控制元件樣式。在元件的修飾符中把styles陣列改寫一下:
styles: [`
.ng-invalid{
border: 3px solid red;
}
.ng-valid{
border: 3px solid green;
}
`]
儲存一下,返回瀏覽器可以看到,驗證不通過時,如圖2.12所示。
圖2.12 驗證失敗的樣式
驗證通過時是這樣的,如圖 2.13所示。
圖2.13 驗證通過的樣式
最後說一下,我們看到這樣設定完樣式後連form和fieldset都一起設定了,這是由於form和fieldset也在樣式中應用了.ng-valid和.ng-valid,那怎麼解決呢?只需要在.ng-valid加上input即可,這表明應用於input型別控制元件並且class引用了ng-invalid的元素,如下所示:
styles: [`
input.ng-invalid{
border: 3px solid red;
}
input.ng-valid{
border: 3px solid green;
}
`]
很多開發人員不太瞭解CSS,其實CSS還是比較簡單的,我建議先從Selector開始看,Selector的概念弄懂後Angular 2的開發中用CSS就會順暢很多。具體可見W3School中對於CSS Selctor的參考和https://css-tricks.com/multiple-class-id-selectors/。
相關文章
- Angular 4.x 自定義驗證指令Angular
- angular中的表單資料自定義驗證Angular
- 自定義密碼驗證函式密碼函式
- Laravel 自定義表單驗證-自定義驗證規則Laravel
- ModernUI教程:如何從MUI樣式中派生自定義樣式UI
- jQuery Validate自定義表單元素驗證通過和不通過的樣式jQuery
- 自定義Toast樣式AST
- cnBlogs的自定義樣式
- 從零開始到釋出上線,如何自定義一個webpack loaderWeb
- 如何自定義Struts2表單驗證後的錯誤資訊顯示格式/樣式
- 如何自定義 drag 樣式
- mui toast自定義樣式UIAST
- 自定義 checkbox 樣式
- 自定義dialog樣式
- Qt Charts 自定義樣式QT
- Layui 自定義表單驗證UI
- 【asp.net core】自定義模型繫結及其驗證ASP.NET模型
- Houdini - 建立自定義的button樣式
- 自定義基於XML的驗證器XML
- MVC驗證02-自定義驗證規則、郵件驗證MVC
- MVC驗證07-自定義Model級別驗證MVC
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- Mybatis使用小技巧-自定義結果集MyBatis
- 自定義統計結果指令碼mystat指令碼
- 從0到1Android自定義View(一)零散基礎知識AndroidView
- MVC驗證04-自定義驗證規則、日期範圍驗證MVC
- PHPCMS自定義表單樣式PHP
- android自定義button樣式Android
- 自定義react資料驗證元件React元件
- CAS自定義登入驗證方法
- mongoose使用validate驗證, 獲取自定義驗證資訊Go
- Laravel 自定義驗證規則的問題Laravel
- thinkphp驗證器獲取$data資料,自定義驗證,多條件唯一性驗證unique驗證PHP
- Angular 自定義管道 pipes 的使用Angular
- CefSharp自定義捲軸樣式
- CSS自定義滑鼠指標樣式CSS指標
- 表單驗證自定義格式輸出
- gin自定義驗證器&轉化中文