Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
Angular 2: validación de entrada simple

Tengo una entrada simple que está destinada a un número de teléfono y me gustaría validar que solo hay números y que la longitud es de 10 dígitos.

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

¿Qué puedo hacer para validar esto sin usar FormBuilder ? Parece que FormBuilder simplemente complica las cosas y me gustaría validar esta entrada.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Con el validador de patrones incorporado es muy fácil:

 <input [(ngModel)]="client.phone" pattern="[0-9]{10}" class="form-input" name="phone" type="phone" [value]="client.phone">
about 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay un ejemplo de mi curso de Pluralsight. Este primer ejemplo utiliza formularios controlados por plantillas. Está utilizando un patrón simple para validar la dirección de correo electrónico:

 <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._%+-]+@[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>

Este ejemplo usa formularios reactivos para lo mismo.

 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._%+-]+@[a-z0-9.-]+')]], sendCatalog: true });

Entonces, usar un patrón es en gran medida una técnica angular. Solo le indicaba el sitio HTML porque proporciona varias sugerencias de patrones de números de teléfono que puede elegir y usar en lugar de los patrones de correo electrónico que se muestran en mis ejemplos aquí.

Avíseme si desea el enlace al código de github asociado.

about 4 years ago · Santiago Trujillo Denunciar

0

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

puede usar el número de tipo y el máximo

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda