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

263
Vistas
Angular: restricción manual del valor máximo de entrada usando ngModel y ngModelChange

Estoy tratando de restringir manualmente que el usuario ingrese un valor en la entrada más de un cierto valor. Estoy usando Angular 9 y ngModel en la entrada.

Como puede ver en el siguiente código, en ngModelChange, si el valor de entrada para la age es mayor que 27, lo configuro en 27.

Si el usuario ingresa un número mayor como 144, muestra 27 en el cuadro de entrada tan pronto como el usuario ingresa los últimos 4. Pero para los números que tienen 27 como prefijo, por ejemplo, 271, 2700, etc., el valor que se muestra en la entrada la caja no se modifica. ¿Alguien sabe por qué y hay alguna manera de que se muestre correctamente?

Tenga en cuenta que la age variable se establece correctamente en 27 para todos los números más grandes. Solo que la visualización del cuadro de entrada no cambia para los números que tienen 27 como prefijo.

Aquí está el enlace de Codepen: https://codepen.io/baggasumit/pen/MWVgaqZ

 @Component({ selector: 'my-app', template: ` <h1>ngModel Example</h1> <label>Age </label> <input type="number" max="27" [ngModel]="age" (ngModelChange)=onAgeChange($event) /> <br> <br> <div>Age is set to {{age}}</div> ` }) class AppComponent { public age; public onAgeChange(newAge) { if (newAge > 27) { this.age = 27; } else { this.age = newAge; } console.log(this.age); } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

También debe actualizar el valor #myInput de la entrada del elemento html.

 const { Component, VERSION } = ng.core; @Component({ selector: 'my-app', template: ` <h1>ngModel Example</h1> <label>Age </label> <input type="number" #myInput [(ngModel)]="age" (ngModelChange)=onAgeChange(myInput) /> <br> <br> <div>Age is set to {{age}}</div> ` }) class AppComponent { public age; public onAgeChange(myInput) { if (this.age > 27) { this.age = 27; } myInput.value = this.age console.log(this.age); } } // main.js const { BrowserModule } = ng.platformBrowser; const { NgModule } = ng.core; const { CommonModule } = ng.common; const { FormsModule } = ng.forms; @NgModule({ imports: [ BrowserModule, CommonModule, FormsModule, ], declarations: [AppComponent], bootstrap: [AppComponent], providers: [] }) class AppModule {} const { platformBrowserDynamic } = ng.platformBrowserDynamic; platformBrowserDynamic() .bootstrapModule(AppModule) .catch(err => console.error(err));
about 4 years ago · Juan Pablo Isaza 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