Angular Material表單提交及驗證


AngularJS中一些表單驗證屬性:

  1. 修改過的表單,只要用戶修改過表單,無論輸入是否通過驗證,該值都將返回false
    {formName}.{inputFieldName}.$dirty
  2. 合法的表單,這個屬性用來判斷表單的內容是否合法的,如果合法則該屬性的值為true
    {formName}.{inputFieldName}.$valid
  3. 不合法的表單,這個屬性用來判斷表單的內容是都不合法,如果不合法則該屬性的值為true,與valid正好相反
    {formName}.{inputFieldName}.$invalid
  4. 錯誤,$error對象包含了當前表單的所有驗證內容,以及它們是否合法的信息,如果驗證失敗,該屬性值為true,如果驗證成功,則該值為false
    {formName}.{inputFieldName}.$error
  5. form表單是否提交,該屬性用來判斷表單是否被用戶提交
    {formName}.$submitted

Angular Material中表單驗證錯誤消息結合使用了ng-messages的用法。以下是一個簡單例子及簡單說明:

點擊提交按鈕之后,form標簽中ng-submit將表單的內容進行提交,js中進行是否合法判斷;

ng-pattern='/^正則表達式$/'  用來進行自定義表單驗證,一般為正則表達式。

ng-messages="{formName}.{inputFieldName}.$error" 用來驗證該表單內容是否錯誤

ng-message-exp=['required','minlength','maxlength','pattern']  這里是所需要驗證的屬性

<form name="changePasswordForm" ng-submit="$ctrl.changePassword(changePasswordForm)" ng-cloak novalidate>
<div> <label style="margin-right: 38px; margin-bottom: 0;">密碼</label>   <md-input-container class="md-block no-margin" md-no-float>   <input name="password" type="password" ng-model="$ctrl.data.password" placeholder="請輸入密碼" style="width: 300px" ng-pattern='/^\+?[1-9]*\d$/'
                      minlength="6" maxlength="20"
                      required/>
               <div class="errors" ng-messages="changePasswordForm.password.$error">
                 <div ng-message-exp=['required','minlength','maxlength','pattern']>
                    您輸入的密碼格式不正確
                 </div>
               </div>
           </md-input-container>
    </div>
  <md-button type="submit">提交</md-button>
</form>

<!--js-->
this.changePassword=function(changePasswordForm){
  if(changePasswordForm.$invalid){
  //本次驗證不合法
  return  
  }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM