import * as Yup from 'yup';
const jobInfoSchema = Yup.object({
employmentTypeSelectedArray: Yup.array()
.min(1, 'select employment type')
.of(
Yup.object({
id: Yup.number(),
name: Yup.string(),
})
),
salaryExpected: Yup.number().when('employmentTypeSelectedArray', {
is: employmentTypeSelectedArray => {
employmentTypeSelectedArray.some(element => {
return element.name == 'Permanent';
});
},
then: Yup.number()
.typeError('expected salary must be a number')
.required('required'),
otherwise: Yup.number().typeError('expected salary must be a number'),
}),
});
export default jobInfoSchema;
Я хочу сделать поле salaryExpected обязательным, если EmploymentTypeSelectedArray содержит объект с именем «Постоянный».С событием onclick динамически {"id": 1, "name": "Permanent"} добавляется в EmploymentTypeSelectedArray в Reactionjs, но поле salaryExpected не показывает обязательное при отправке, в то время как оно показывает число typeError при вводе строки.