Как проверить каждый символ в firstName с yup? - PullRequest
0 голосов
/ 09 апреля 2020

У меня сложные времена для проверки каждого символа на входе. Я хочу вернуть неверный ввод для firstName, если есть что-то кроме простых букв алфавита, ie. если есть цифры или специальные символы.

Это мой код, и я ищу что-то, что могло бы дать мне желаемое поведение:

const FormSchema = yup.object().shape({
    firstName: yup
      .string()
      .max(40).
      .required(),

...

<Formik initialValues={initialValues} validationSchema={FormSchema} validateOnMount onSubmit={formSubmit}>
  <Field name="firstName">
    {(props: FieldProps) => (
      <TextField {...props.field} {...textErrors(props.meta)} fullWidth label={t('firstName')} type="text" />
                )}
  </Field>

1 Ответ

0 голосов
/ 09 апреля 2020

Что ж, оказалось, что, когда я пытался вчера, мне не хватало знака доллара $, чтобы сказать регулярному выражению, что нужно искать в конце заданного строкового ввода.

const FormSchema = yup.object().shape({
    firstName: yup
      .string()
      .matches(/^[A-Za-z ]*$/, 'Please enter valid name')
      .max(40)
      .required(),
...