验证仅接受带有 yup 的选择器的两个特定字段

Lut*_*ris 5 javascript reactjs yup

在选择器中只允许两个指定值的最佳方法是什么,例如我有 2 个字段供用户选择:

  1. 我们

  2. UGX

下面是我的代码片段:

验证码:

const signUpSchema = Yup.object().shape({
    countrySelector: Yup.string().required('Please select the country'),
    
});
Run Code Online (Sandbox Code Playgroud)

JSX 片段

<Formik
                        validationSchema={signUpSchema}
                        onSubmit={handleSignUpAsync}
                        initialValues={{
                            countrySelector: '',
            
                        }}
                    >
                        <Form>
                            <Field
                                as="select"
                                className="browser-default custom-select"
                                name='countrySelector'>
                                <option value="-">-</option>
                                <option value="DE">DE</option>
                                <option value="US">US</option>
                            </Field>
                        </Form>
                    </Formik>
Run Code Online (Sandbox Code Playgroud)

the*_*ude 9

使用yuponeOf的验证器

mix.oneOf(arrayOfValues:数组,消息?:字符串|函数):架构

例如

const signUpSchema = Yup.object().shape({
    countrySelector: Yup.string().oneOf(['US', 'UGX']).required('Please select the country'),
});
Run Code Online (Sandbox Code Playgroud)