您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在ionic中使用angularjs實現表單驗證,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
需引入angular forms庫,因為ionic會自動默認引入。
<header [title]="title"></header> <ion-content scroll="false"> <!--<form>--> <ion-item> <ion-input type="text" class="form-control" name="username" #username="ngModel" required maxlength="10" minlength="6" placeholder="用戶名" [(ngModel)]="user.username" ></ion-input> </ion-item> <p>ahdasidhasidashdudi</p> <ion-item> <ion-input type="password" class="form-control" name="password" #password="ngModel" required maxlength="16" minlength="6" placeholder="密碼" [(ngModel)]="user.password"></ion-input> </ion-item> <ion-item> <ion-label>記住密碼</ion-label> <ion-toggle [(ngModel)]="pepperoni"></ion-toggle> </ion-item> <button ion-button block (click)="login()">登錄</button> <ion-item> <button ion-button icon-start outline (click)="goRegistered()"> 去注冊 </button> <button ion-button icon-end outline> 忘記密碼 </button> </ion-item> <h2 class="errorMessage">{{promptMessage}}</h2> <span *ngIf="username.invalid && (username.dirty || username.touched)" class="errorMessage">用戶名必須為6到10位</span> <span *ngIf="password.invalid && (password.dirty || password.touched)" class="errorMessage"> 密碼必須為6-16位 </span> <!--</form>--> </ion-content>
運行效果如下:
3核心屬性
可以看到[(ngModel)]="user.username"作用是綁定了我們在ts文件中定義的變量。
#username="ngModel"的作用是把我們綁定的模型值命名成username,變成了一個FormControl對象,這里不必糾結下節會講。
required 驗證是否為空 maxlength="10" 最大長度 minlength="6"最小長度。這些都是我們需要驗證的條件。
*ngIf="username.invalid && (username.dirty || username.touched)"
*ngIf標簽等于true時將錯誤信息顯示出來username.invalid表示驗證不合法返回true,username.dirty 判斷是否改變了這個參數的值,username.touched表示是否有碰過表單,作用在于,剛打開表單頁面是,里面參數都是空的,但無需顯示錯誤信息。
進入model.d.ts文件看到部分源碼如下
/** * A control is `valid` when its `status === VALID`. * * In order to have this status, the control must have passed all its * validation checks. */ readonly valid: boolean; /** * A control is `invalid` when its `status === INVALID`. * * In order to have this status, the control must have failed * at least one of its validation checks. */ readonly invalid: boolean;
valid屬性表示參數值校驗后結果不通過為false,通過為true。
invalid則表示參數值校驗不通過為true,通過為false。
/** * A control is `dirty` if the user has changed the value * in the UI. * * Note that programmatic changes to a control's value will * *not* mark it dirty. */ readonly dirty: boolean; /** * A control is marked `touched` once the user has triggered * a `blur` event on it. */ readonly touched: boolean;
上述內容就是怎么在ionic中使用angularjs實現表單驗證,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。