如何对嵌套的initialValue,formik + yup应用验证

时间:2018-10-11 05:17:34

标签: react-native formik yup

我正在从服务器获取数据并在intialValues中设置值:

<Formik
        initialValues={{
             location: this.state.data.location
         }}
         validationSchema={locationValidationSchema}
         ...
/>

location是一个具有州,城市和国家/地区字段的对象,所有这些字段均由用户强制执行。 我能够将其呈现为值,但无法对其进行验证。下面是代码:

<UCTextInput
       label="State"
       value={values.location.state}
       onChangeText={(value) => {setFieldValue('location.state', value)}}
       name="location.state"
       error={errors.location.state}       
/>

//验证文件:

export const locationValidationSchema = Yup.object().shape({
   location: Yup.object().shape({
        state: Yup.string()
            .required(),
    })
})

当我尝试上述代码时,出现错误,未定义的城市(error = {errors.location.state})

0 个答案:

没有答案