Проверка AntD по шаблону не вызывает ошибку - PullRequest
0 голосов
/ 07 февраля 2020

Итак, я прочитал это: Регулярное выражение работает на regex101.com, но не на prod

Я создаю следующее правило в antd: Demo

    <Form.Item
      validateStatus={usernameError ? "error" : ""}
      help={usernameError || ""}
    >
      {getFieldDecorator("username", {
        rules: [
          { required: true, message: "Please input your username!" },
          {
            type: "regexp",
            pattern: new RegExp(
              /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!#$%\-_=+<>])([a-zA-Z0-9!#$%\-_=+<>]+)$/
            ),
            message: `Password Pattern`
          }
        ]
      })(
        <Input
          prefix={<Icon type="user" style={{ color: "rgba(0,0,0,.25)" }} />}
          placeholder="Username"
        />
      )}
    </Form.Item>

Регулярное выражение должно соответствовать всему, что ДОЛЖНО включать как минимум 1 цифру, 1 букву и 1 специальный символ.

Как видно из журнала, регулярное выражение работает правильно в JS, но в antd шаблон не работает.

Кроме того, я следовал this и правильно добавил type="regexp"

Чего еще не хватает?

1 Ответ

2 голосов
/ 09 февраля 2020

Вы не должны явно упоминать type: "regexp".

Сделайте что-то подобное, это будет работать.

rules: [
 { required: true, message: "Please input your username!" },
 {
    pattern:/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!#$%\-_=+<>])([a-zA-Z0-9!#$%\-_=+<>]+)$/,
    message: `Password Pattern`
 }
]

Проверьте похожий ответ , относящийся к regex.

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