@cbm-common/error-translate-pipe
v0.0.1
Published
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.0.
Downloads
761
Readme
ErrorTranslatePipe
This project was generated using Angular CLI version 20.1.0.
Code scaffolding
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as components, directives, or pipes), run:
ng generate --helpBuilding
To build the library, run:
ng build error-translate-pipeThis command will compile your project, and the build artifacts will be placed in the dist/ directory.
Publishing the Library
Once the project is built, you can publish your library by following these steps:
Navigate to the
distdirectory:cd dist/error-translate-pipeRun the
npm publishcommand to publish your library to the npm registry:npm publish
Running unit tests
To execute unit tests with the Karma test runner, use the following command:
ng testRunning end-to-end tests
For end-to-end (e2e) testing, run:
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
Additional Resources
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.
error-translate-pipe
Documentación de la librería error-translate-pipe (español).
Propósito
Este paquete exporta un pipe standalone CbmErrorTranslatePipe diseñado para traducir ValidationErrors de Angular Forms a mensajes de error legibles por el usuario (en español por defecto). Es útil para mostrar mensajes consistentes en formularios sin repetir lógica en múltiples componentes.
Qué exporta
CbmErrorTranslatePipe(pipe standalone)ICbmErrorMessagesMap(interfaz para personalizar mensajes)
Uso rápido
Importa el pipe en el componente (por ser standalone puede usarse directamente en @Component({ imports: [...] })) o incluírlo en un módulo si prefieres.
Ejemplo de uso en template:
<input [formControl]="myControl" />
<div class="text-sm text-red-600">{{ myControl.errors | cbmErrorTranslate }}</div>Personalizar mensajes
Puedes pasar un map de mensajes personalizados como segundo argumento al pipe:
<div class="text-sm text-red-600">
{{ myControl.errors | cbmErrorTranslate: { required: 'Se requiere este campo', minlength: 'Demasiado corto' } }}
</div>API y comportamiento
El pipe acepta:
value:ValidationErrors | null | undefined— el objetoerrorsdelAbstractControl.errorMessages?:ICbmErrorMessagesMap— un objeto con claves de error y su texto personalizado.
Reglas de traducción internas (por defecto):
required→ "Campo requerido"pattern→ "Este campo no cumple con el patrón requerido"minlength→ "Este campo debe tener al menos X caracteres"maxlength→ "Este campo debe tener como máximo X caracteres"min→ "Este campo debe tener un valor mínimo de X"max→ "Este campo debe tener un valor máximo de X"invalidEmail→ "Correo electrónico inválido"invalid→ devuelve el valor del error o "Campo inválido"valueSurpassed→ utilizaerrorMessagesdel propio objeto de error si está presente
Si no se reconoce la clave de error, el pipe devuelve "Campo inválido".
Testing
El proyecto incluye una spec base (error-translate.pipe.spec.ts). Puedes ejecutar las pruebas con:
ng testNotas
- El pipe está diseñado para ser simple y orientado a formularios; si necesitas soporte para i18n completo, considera integrar recursos de traducción (ngx-translate o @angular/localize) y pasar los textos personalizados desde ahí.
Licencia
Revisa la licencia del repositorio principal.
