2016-06-09 51 views
0

我已經做了一個指令,使用表單驗證,如果移動不存在服務,但它顯示每10位數驗證否是否存在或不。請告訴我我在哪裏出錯 這是我的代碼。無法通過正確的值形式驗證

HTML

<div class="col-xs-8"> 
         <md-input-container> 
          <md-icon md-svg-icon="assets/images/device.svg"></md-icon> 
          <input type="number" placeholder="Enter user mobile no" name="mobile" id="mobile" ng-model="mobile" required minlength="10" ng-pattern="/^[789]\d{9}$/" phone-number-validator> 
           <div ng-messages="myForm.mobile.$error"> 
           <div ng-message="required">Registered mobile no.</div> 
            <div ng-message="phoneNumber">The mobile No entered has already been registered</div> 
           <div ng-message="test">too short</div> 
          </div> 
         </md-input-container> 
        </div> 

這裏是我的指令

angular.module('shoppingPad').directive('phoneNumberValidator',phoneNumberValidator) 


function phoneNumberValidator($q,loginServices){ 
    //var deferred=$q.defer(); 
    return{ 
     restrict:'EA', 
     require:'ngModel', 

     link:function($scope,element,attrs,ngModel){ 
      ngModel.$asyncValidators.phoneNumber=function(modelValue , viewValue) { 

       var mobile= (modelValue).toString(); 
       console.log(mobile); 
       console.log("abc"); 

        if(mobile.length == 10){ 

         return $q(function(resolve,reject){ 
          if(mobile==loginServices.getMobileNo.mobile1){ 
           resolve(); 

          } 
          else reject(); 
         }); 

       } 

      } 
     } 

,這裏是我的服務從即時通訊傳遞數據

this.getMobileNo=function(){ 
     var mobile={ 
      mobile1:'8898246388', 
      mobile2:'8898302454', 
      mobile3:'8898454302' 
     } 
} 

回答

1

你的代碼錯在兩件事情: 這種方法getMobileNo必須返回 o bject

this.getMobileNo=function(){ 
    return mobile={ 
     mobile1:'8898246388', 
     mobile2:'8898302454', 
     mobile3:'8898454302' 
    } 
} 

然後呼籲爲您服務,需要()調用函數: 如果IM使用if(mobile==loginServices.getMobileNo().mobile1){

+0

()。它表示無法讀取未定義的屬性'mobile1' – Anurag

+0

也改變你的功能。一個工作版本在這裏:https://plnkr.co/edit/e7Dwyg?p=info –

+0

哪些功能我沒有得到完全正確的,因爲我看到相同的指令代碼在plunker也 – Anurag