2016-10-11 6 views
0

にJavaScriptで使用するのですかが私のフォームコントロールである:ここではどのように私はここに私のフォームコントロールから値がAngular2

<div class="field"> 
     <label for="AgeInput">Age</label> 
     <input type="text" 
      id="AgeInput" 
      [formControl]="agefld"> 
     <div *ngIf="agefld.hasError('required')" 
      class="ui error message">Age is required</div> 
     <div *ngIf="agefld.hasError('invalidAge')" 
      class="ui error message">Age must be greater than 0</div> 
     </div> 



<div class="field"> 
     <label for="dobInput">Date of Birth</label> 
     <input type="text" 
      id="dobInput" 
      [formControl]="dob"> 
     <div *ngIf="dob.hasError('required')" 
      class="ui error message">Date of Birth is required</div> 
      <div *ngIf="dob.hasError('invalidDate')" 
      class="ui error message">Age and date do not compute</div> 
     </div> 

は私のカスタム関数です:

function validateDob(control: FormControl): {[s:string]: boolean}{ 
    var today = new Date(); 
    var inDate = new Date(control.value); 
    var calcAge = Math.abs(today - inDate); 
    var ageDif = Math.floor(calcAge/(1000 * 60 * 60 * 24 * 365)) 
    var otherAge = 51; 
    alert(" Entered age : " + parseInt(getValue("agefld")); 

    if (50 != ageDif){ 
    return {invalidDate: true} 
    } 
} 

私はしたいと思いますどのような入力された日付が入力されたagefldに基づいて有効であるかどうかを計算します。しかし、私は "Agefld"が未定義であることを続けています。私は{{agefld}}、[{agefld}]やthis.agefldのようないくつかの異なるものを試しました。同じメッセージが表示され続けます。これは難しいことではありません。

答えて

0

Validatorインターフェイスを実装するディレクティブを作成する必要があります。 このディレクティブはHTML形式で使用してください。このディレクティブをngModule宣言タグに設定することを忘れないでください。

関連する問題