2017-04-18 14 views
4

私は電話番号のための単純な入力を持っています。私は数字だけで長さが10桁であることを検証したいと思います。角2:単純な入力検証

<input [(ngModel)]="client.phone" class="form-input" name="phone" type="phone" [value]="client.phone"> 

FormBuilderを使用せずにこれを検証するにはどうすればよいですか? FormBuilderのように思えば、この1つの入力を検証するだけです。

+0

あなたはまだテンプレート駆動型フォームに滞在するために探していますか? – Winnemucca

+0

これはちょっと単純に思えましたが、私はAngular2の初心者です –

+0

私はこれに近づく角度を探しています –

答えて

2

<input type="number" name="phone" max="10">

あなたはここで種類数と最大

+0

1と10の間の数値に制限されませんか?私はOPが1桁と10桁の間にあると思う。 – DeborahK

+0

^正しいです –

1

を使用することができます私のPluralsightのコースからの例です。この最初の例では、テンプレート駆動フォームを使用しています。電子メールアドレスの検証には単純なパターンを使用しています。

  <div class="form-group" 
       [ngClass]="{'has-error': (emailVar.touched || emailVar.dirty) && !emailVar.valid }"> 
       <label class="col-md-2 control-label" 
        for="emailId">Email</label> 

       <div class="col-md-8"> 
        <input class="form-control" 
          id="emailId" 
          type="email" 
          placeholder="Email (required)" 
          required 
          pattern="[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+" 
          [(ngModel)]="customer.email" 
          name="email" 
          #emailVar="ngModel" /> 
        <span class="help-block" *ngIf="(emailVar.touched || emailVar.dirty) && emailVar.errors"> 
         <span *ngIf="emailVar.errors.required"> 
          Please enter your email address. 
         </span> 
         <span *ngIf="emailVar.errors.pattern"> 
          Please enter a valid email address. 
         </span> 

         <!-- This one does not work --> 
         <span *ngIf="emailVar.errors.email"> 
          Please enter a valid email address. 
         </span> 
        </span> 
       </div> 
      </div> 

この例では、同じものに対して反応的なフォームを使用しています。

this.customerForm = this.fb.group({ 
     firstName: ['', [Validators.required, Validators.minLength(3)]], 
     lastName: ['', [Validators.required, Validators.maxLength(50)]], 
     email: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-][email protected][a-z0-9.-]+')]], 
     sendCatalog: true 
    }); 

したがって、パターンを使用することは非常に角度の技法です。私はここで私の例で示されている電子メールパターンの代わりに選ぶことができる電話番号パターンのためのいくつかの提案を提供したので、HTMLサイトにあなたを指摘していました。

関連するgithubコードへのリンクを希望する場合はお知らせください。パターンのバリデータを内蔵した

3

それは非常に簡単です:

<input [(ngModel)]="client.phone" pattern="[0-9]{10}" class="form-input" name="phone" type="phone" [value]="client.phone"> 
関連する問題