如何用 yup 验证 firstName 中的每个字符?
How to validate each character in firstName with yup?
我很难验证输入中的每个字符。如果除了简单的字母字符之外还有其他内容,我想 return firstName 的无效输入,即。如果有数字或特殊字符。
这是我的代码,我正在寻找可以提供我想要的行为的代码:
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>
好吧,原来我昨天尝试时缺少美元符号 $,用于告诉正则表达式搜索到给定字符串输入的末尾。
const FormSchema = yup.object().shape({
firstName: yup
.string()
.matches(/^[A-Za-z ]*$/, 'Please enter valid name')
.max(40)
.required(),
上面的答案对我不起作用,但这个答案有效:
const FormSchema = yup.object().shape({
firstName: yup
.string()
.matches(/^[aA-zZ\s]+$/, 'Please enter valid name')
.max(40)
.required(),
我很难验证输入中的每个字符。如果除了简单的字母字符之外还有其他内容,我想 return firstName 的无效输入,即。如果有数字或特殊字符。
这是我的代码,我正在寻找可以提供我想要的行为的代码:
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>
好吧,原来我昨天尝试时缺少美元符号 $,用于告诉正则表达式搜索到给定字符串输入的末尾。
const FormSchema = yup.object().shape({
firstName: yup
.string()
.matches(/^[A-Za-z ]*$/, 'Please enter valid name')
.max(40)
.required(),
上面的答案对我不起作用,但这个答案有效:
const FormSchema = yup.object().shape({
firstName: yup
.string()
.matches(/^[aA-zZ\s]+$/, 'Please enter valid name')
.max(40)
.required(),