Skip to content
Snippets Groups Projects
error-transform.pipe.ts 980 B
Newer Older
  • Learn to ignore specific revisions
  • import { Pipe, PipeTransform } from '@angular/core';
    import { ValidationErrors } from '@angular/forms';
    
    import { UIElement } from '../models/uI-element';
    
    
    @Pipe({
      name: 'errorTransform'
    })
    export class ErrorTransformPipe implements PipeTransform {
    
    rhenck's avatar
    rhenck committed
      transform(validationErrors: ValidationErrors, elementModel: UIElement): string {
    
        const validationMessages = this.getValidationMessages(elementModel);
        let returnMessage = '';
    
        Object.keys(validationErrors).forEach(errorKey => {
          if (returnMessage) {
            returnMessage += '; ';
          }
    
    jojohoch's avatar
    jojohoch committed
          returnMessage += validationMessages[errorKey];
    
        });
        return returnMessage;
      }
    
    
    jojohoch's avatar
    jojohoch committed
      private getValidationMessages = (elementModel: UIElement): Record<string, string> => ({
        required: elementModel.requiredWarnMessage as string,
    
        minlength: elementModel.minLengthWarnMessage as string,
        maxlength: elementModel.maxLengthWarnMessage as string,
    
    jojohoch's avatar
    jojohoch committed
        pattern: elementModel.patternWarnMessage as string
      });