Saltar al contenido principal
Version: 4.x (latest)

Migrando de v3 a v4

v4 sube el piso de peer a Angular >= 20 y cambia cómo se configura la librería. El uso en el template no cambia: ngxErrorMessage, [classNames], [patternKey], [when], el formato del archivo JSON de traducción, regEx y los nombres de clase CSS por defecto son idénticos a v3.

provideNgxErrorMessage() ahora es composable​

El argumento de objeto de configuración fue reemplazado por una lista de features withXxx(), siguiendo el mismo patrón que provideHttpClient(withXhr(), ...) de Angular.

- provideNgxErrorMessage({
- validationsPrefix: 'VALIDATIONS',
- })
+ provideNgxErrorMessage(
+ withErrorMessageConfig({ validationsPrefix: 'VALIDATIONS' }),
+ )

Llamar a provideNgxErrorMessage() sin argumentos sigue funcionando igual que antes.

@ngx-translate/core se movió a un entry point secundario​

En v3, @ngx-translate/core se conectaba automáticamente apenas estaba instalado. En v4 es opt-in vía withNgxTranslate(), importado desde ngx-error-message/ngx-translate:

  import { provideNgxErrorMessage } from 'ngx-error-message'
+ import { withNgxTranslate } from 'ngx-error-message/ngx-translate'

provideNgxErrorMessage(
- // ngx-translate se detectaba automáticamente si estaba instalado
+ withNgxTranslate(),
)

Si no agregás withNgxTranslate(), los mensajes se resuelven como string vacío, a menos que también configures errorMessages vía withErrorMessageConfig(). Olvidarse de este paso es el error de migración más común — ver App Standalone para la configuración completa.

Esto también sube el piso de peer de @ngx-translate/core a >= 18, que a su vez eliminó TranslateModule en favor de provideTranslateService() — ver la guía de migración de ngx-translate si también estás actualizando ese paquete.

NgxErrorMessageModule está deprecado, no eliminado​

Si hacés bootstrap vía NgModule, no necesitás cambiar nada — pero planificá migrar a provideNgxErrorMessage() eventualmente, ya que el módulo será eliminado en una futura versión major. Ver App con NgModule para la configuración actualizada, incluyendo withNgxTranslate().

Se eliminó LEGACY_ERROR_PRIORITY​

v3 elegía el último error que sus validadores registraban en el control, que en la práctica era simplemente el orden de inserción de claves de JavaScript — no algo que nadie eligiera a propósito. v4 usa por defecto DEFAULT_ERROR_PRIORITY (required → email → pattern → minlength → maxlength → min → max), un orden deliberado y documentado.

Si dependías del viejo fallback por orden de inserción, pasá un array vacío para obtener el mismo comportamiento:

provideNgxErrorMessage(withErrorMessageConfig({ errorPriority: [] }))

Ver Prioridad de errores para más detalle.

Piso de Angular: >= 20​

v4 requiere Angular 20 o superior (antes 16 en v3). Corré ng update para actualizar la versión de Angular de tu app antes de instalar ngx-error-message@4.