All files / app/formly errors.ts

4.54% Statements 1/22
0% Branches 0/28
0% Functions 0/1
4.76% Lines 1/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  10x                                                                
import { FormlyConfig, FormlyFieldConfig } from '@ngx-formly/core';
import { isObject } from 'lodash-es';
 
export function getErrorMessage(field: FormlyFieldConfig, config: FormlyConfig) {
    const fieldForm = field.formControl!;
    for (const error in fieldForm.errors) {
      if (!fieldForm.errors.hasOwnProperty(error)) continue;
      let message = config.getValidatorMessage(error);
      if (isObject(fieldForm.errors[error])) {
        const e = fieldForm.errors[error] as any;
        if (e.errorPath) {
          return '';
        }
        if (e.message) {
          message = e.message;
        }
      }
      if (field.validation?.messages?.[error]) {
        message = field.validation.messages[error];
      }
      if (field.validators?.[error]?.message) {
        message = field.validators[error].message;
      }
      if (field.asyncValidators?.[error]?.message) {
        message = field.asyncValidators[error].message;
      }
      if (typeof message === 'function') {
        return message(fieldForm.errors[error], field) as string;
      }
      return message;
    }
    return '';
}