Я использую следующее:
export const validationSchema = Yup.object().shape({
password: Yup.string()
.required('Password is required')
.matches(
/^[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]*$/,
'Need one special character',
),
confirmPassword: Yup.string()
.oneOf([Yup.ref('password'), null], 'Passwords must match')
.required('Password confirm is required'),
});
, чтобы проверить, есть ли один специальный символ в строке пароля.
@ => valid
@a => invalid
a@ => invalid
aa => invalid, of course
Я также проверяю шаблон регулярного выражения в Интернете, чтобы убедиться, что этот шаблон поймает любой специальный символ в строке. Интересно, это может быть ошибка или я делаю что-то не так