Limitare la lunghezza del campo di input utilizzando angular2

Ho attuato la direttiva per limitare il campo di input utilizzando angular2. Si sta lavorando bene per la versione desktop del browser, ma non funziona in android mobile.

componente

import { LimitToDirective } from '../../../directives/limitedvalidation';
@Component({
  templateUrl: 'build/pages/profile/change-basic-details/change-basic-details.html',
  directives: [LimitToDirective]  
})
export class UpdateBasicDetailsPage {
  constructor(){}
}

direttiva

 import {Directive, Input} from '@angular/core'
    @Directive({
      selector: '[limit-to]',
      host: {
        '(keypress)': '_onKeypress($event)',
      }
    })
    export class LimitToDirective {
      @Input('limit-to') limitTo; 
      _onKeypress(e) {
         const limit = +this.limitTo;
         if (e.target.value.length === limit) e.preventDefault();
      }
    }

modello

<ion-input limit-to="12" type="tel" [formControl]="aadhaarno">

OriginaleL’autore vishnu | 2016-10-27

2 Replies
  1. 10

    Utilizzare maxlength come belows :

    <ion-input [maxlength]="12" type="tel" [formControl]="aadhaarno">
    
    io sono sempre errore in android mobile, [INFO:CONSOLE(463)] “Errore: Uncaught (promessa): ECCEZIONE: Errore in compilazione/pagine/profilo/modifica-base-dettagli/cambio-base-dettagli.html:63:8 ORIGINALE ECCEZIONE: Invalid intero letterale quando l’analisi di null in base 10
    ho provato ad utilizzare html5 attributo maxlength. ora si sta lavorando bene…

    OriginaleL’autore ranakrunal9

  2. 3

    si dovrebbe utilizzare max-lunghezza attributo html5 e quindi utilizzare il modulo di convalida per Angular2, nessuna direttiva personalizzati necessari.

    OriginaleL’autore danday74

Lascia un commento