Установить пользовательское сообщение об ошибке в валидаторе minLength в ngx-formly

Я хочу создать простую форму с валидациями и перевести все сообщения об ошибках на испанский язык. Он отлично работает для валидаторов 'required', 'min' и 'max', но когда я делаю то же самое с 'minLength' и 'maxLength', сообщение об ошибке не отображается.

Это странно, потому что поля все еще помечены как неправильные (они отображаются красным), но сообщение об ошибке не появляется. Функции форматирования сообщений просто не вызываются.

Вот основная часть моего кода:

    form = new FormGroup({});
    model = { email: 'email@gmail.com' };

    validation = {
        messages: {
            required: (error, field: FormlyFieldConfig) => `Este campo es obligatorio.`,
            min: (error, field: FormlyFieldConfig) => `El valor debe ser mayor o igual que ${error.min}.`,
            max: (error, field: FormlyFieldConfig) => `El valor debe ser menor o igual que ${error.max}.`,
            minLength: (error, field: FormlyFieldConfig) => `La longitud mínima es ${error.minLength}.`,
            maxLength: (error, field: FormlyFieldConfig) => `La longitud máxima es ${error.maxLength}.`
        }
    };

    fields: FormlyFieldConfig[] = [ {
        fieldGroupClassName: 'row',
        fieldGroup: [
            {
                key: 'reference',
                type: 'input',
                className: 'col-xs-6',
                templateOptions: {
                    label: 'Referencia',
                    type: 'string',
                    required: true,
                    minLength: 3,
                    maxLength: 30,
                },
                validation: this.validation
            } ]
    }];

0 ответов

Немного поздно, но проверка должна быть:

minlength: (error, field: FormlyFieldConfig) => `La longitud mínima es ${error.requiredLength}.`

в основном используется нижний регистр "l" в имени проверки и "requiredLength" в качестве свойства ошибки. Тестировал на ngx-formly версии 5.5.2

Другие вопросы по тегам