Добавление метода с переданным параметром завершается неудачно при проверке поля - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь настроить различные проверки для проверки на уровне поля.

Учитывая мой метод:

export const maxLength = max => value =>
value && value.length > max ? `Must be ${max} characters or less` : undefined;

, который импортируется и присоединяется к компоненту поля:

<Field type="text" name="userName" component={Input} label="Username" validate={[maxLength(8)]} />

Это всегда терпит неудачу.Он компилируется нормально, но всякий раз, когда я нажимаю, превышаю максимальную длину, я получаю эту ошибку в консоли:

enter image description here

Теперь, если бы я должен был сделать const, чтопросто вызывает этот метод, как в примере с приставкой:

export const maxLength8 = maxLength(8)

и помещает его в параметр проверки компонента Field, он работает нормально.

Я также получаю ту же ошибку, если япопробуйте добавить еще одну проверку, как требуется:

<Field type="text" name="userName" component={Input} label="Username" validate={[required, maxLength(8)]} />

Это снова работает нормально, если я назову это так:

<Field type="text" name="userName" component={Input} label="Username" validate={[required, maxLength15]} />

Я пытаюсь избежать создания различных функций для maxLength для всех возможныхСитуация, с которой мы можем столкнуться, и просто иметь одну общую функцию, которую мы можем вызвать в каждой форме, которую мы создаем.Поскольку это внутренняя система типов CMS, которую мы разрабатываем, у нас может быть довольно много ситуаций, когда мы будем использовать максимальные / минимальные длины типов.

Я заранее ценю людей, которые изучают это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...