我如何从我的表单控件在Angular2 Javascript中使用的值

How do I get the value from my Form control to use in Javascript in Angular2

本文关键字:Javascript Angular2 我的 控件 表单      更新时间:2023-09-26

这是我的表单控件:

 <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}],甚至this. ageffield。但同样的信息不断出现。这并不难。

您必须创建一个指令来实现Validator接口。并在HTML形式中使用这个指令。别忘了在ngModule的declarations标签中设置这个指令。