You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中使用Yup、Vuelidate校验Checkbox无法强制勾选的问题求助

解决Vuelidate结合Yup校验Checkbox必须勾选的问题

你当前使用的Yup.boolean().required()校验逻辑存在问题:required()仅校验字段是否存在,但布尔值false本身属于合法的存在值,所以即使Checkbox未勾选(绑定值为false),校验依然会通过。

要强制Checkbox必须勾选(值为true),需要改用oneOf([true])来限定有效值只能是true,同时可以结合自定义错误提示或已设置的label信息:

rizaOnayi: Yup.boolean()
  .oneOf([true], `${Yup.ref('rizaOnayi').label} 必须勾选`)
  .label("Açık Rıza Onayi"),

或者更直接地指定错误文本:

rizaOnayi: Yup.boolean()
  .oneOf([true], "必须勾选Açık Rıza Onayi")
  .label("Açık Rıza Onayi"),

修改后,当rizaOnayi的值为false时,Yup会触发错误提示,Vuelidate会拦截表单提交并展示对应的错误信息,确保用户必须勾选该Checkbox才能提交表单。

内容的提问来源于stack exchange,提问作者kadirklc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 04:30:22