【发布时间】:2021-06-18 17:25:02
【问题描述】:
{
label: 'Room',
name: 'room',
rule: yup.array(yup.object()).required(),
renderer: (data: any) => {
const { control, register, errors } = useFormContext();
return (
<div className="block w-full">
{
teacherRole && teacherRole.map((item, idx) => (
<div key={idx} className="flex pb-2 items-center">
<SelectPicker
placeholder={'TEACHER'}
data={
teacherList && teacherList.map(x => (
{ label: x.name, value: x.id }
))
}
onChange={(val) => control.setValue('room', setTeacher(val, idx))}
value={control.getValues()['selectTeacher']}
style={{ width: '100%' }}
/>
<span className="px-2 leading-8 text-2xl">-</span>
<SelectPicker
data={[
{ label: 'Admin', value: 'ROLE_ADMIN' },
{ label: 'Teacher', value: 'ROLE_TEACHER' },
{ label: 'Student', value: 'ROLE_STUDENT' },
]}
placeholder={'Role'}
onChange={(val) => control.setValue('room', setRole(val, idx))}
value={control.getValues()['selectRole']}
style={{ width: '100%', paddingRight: '.3rem' }}
/>
</div>
))
}
</div>
)
}
}
我在这里要做的是验证老师和房间是空的。 因为当我尝试提交表单时,即使它为 null 它也会提交。
我想要的是在角色或老师为空时添加验证,应该出现错误消息。
【问题讨论】:
-
嗯,首先,你不要关闭第一行的字符串,所以几乎整个对象都是无效的。
-
@samuei 已更新。
标签: javascript reactjs typescript yup react-hook-form