Я пытаюсь настроить различные проверки для проверки на уровне поля.
Учитывая мой метод:
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)]} />
Это всегда терпит неудачу.Он компилируется нормально, но всякий раз, когда я нажимаю, превышаю максимальную длину, я получаю эту ошибку в консоли:
Теперь, если бы я должен был сделать 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, которую мы разрабатываем, у нас может быть довольно много ситуаций, когда мы будем использовать максимальные / минимальные длины типов.
Я заранее ценю людей, которые изучают это.