react-hook-form 如何让注册的字段验证仅在按钮触发时发生,而不是在表单提交时发生?
react-hook-form how to have a registered field validation happen only at a button trigger, but not at form submission?
使用 react-hook-form V6。假设我的表单中有一个文本输入“电子邮件”。我的表单有 2 个按钮:
第一个按钮(“保存”)提交表单,无需验证。应保存整个表格。
第二个按钮(“验证”)将验证“电子邮件”字段,然后调用自定义函数并执行其他操作。
现在对于我的“电子邮件”输入控件,我有这个:
ref={register({
validate: {
validateEmail: (email) => {
....
}
}
})}
然后我的第二个“验证”按钮 onClick 方法可以触发电子邮件验证。一切顺利。
但是在“保存”(表单提交)时,我不想验证这个“电子邮件”字段。我该怎么做?
我想我找到了解决办法。每次我发布问题后,它都会帮助我整理思路并引导我找到答案。
无论如何,解决方案是不要在“注册”时绑定验证。这样“表单提交”就不会得到验证。现在对于第二个按钮,在应用时调用 setError(...)。
这里有 2 个链接很有帮助:
使用 react-hook-form V6。假设我的表单中有一个文本输入“电子邮件”。我的表单有 2 个按钮:
第一个按钮(“保存”)提交表单,无需验证。应保存整个表格。
第二个按钮(“验证”)将验证“电子邮件”字段,然后调用自定义函数并执行其他操作。
现在对于我的“电子邮件”输入控件,我有这个:
ref={register({
validate: {
validateEmail: (email) => {
....
}
}
})}
然后我的第二个“验证”按钮 onClick 方法可以触发电子邮件验证。一切顺利。
但是在“保存”(表单提交)时,我不想验证这个“电子邮件”字段。我该怎么做?
我想我找到了解决办法。每次我发布问题后,它都会帮助我整理思路并引导我找到答案。
无论如何,解决方案是不要在“注册”时绑定验证。这样“表单提交”就不会得到验证。现在对于第二个按钮,在应用时调用 setError(...)。
这里有 2 个链接很有帮助: