我想对用户输入的内容进行校验,如果输入的内容已经存在,就提示,否则将输入的内容存入数组,为此,在Form.Item的validator中加入了校验条件,validateTrigger设置为onChange。
结果:在输入的时候校验正常,但是在提交的时候再次进行了校验,导致了错误无法提交,请问有没有办法让validator的校验仅在用户输入改变的时候触发,而提交表单的时候不触发?
我想对用户输入的内容进行校验,如果输入的内容已经存在,就提示,否则将输入的内容存入数组,为此,在Form.Item的validator中加入了校验条件,validateTrigger设置为onChange。
结果:在输入的时候校验正常,但是在提交的时候再次进行了校验,导致了错误无法提交,请问有没有办法让validator的校验仅在用户输入改变的时候触发,而提交表单的时候不触发?
3 回答1.8k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
不是校验的问题,还是考虑优化逻辑吧。听起来,如果我录入'abc',那你会在那个数组里面存a,ab,abc,然后我想改成abd的话中间也会报一次错误咯?
看了你的回复,答案不变,考虑优化逻辑。
不管何时触发,你的目的是检查录入的内容是否已经存在,不要忘记这件事。而根据录入的内容调整exists中的数据是提交给后端之前要做的事情,而不是校验本身该做的事情。
简单说,数据是你的exists+当前录入的内容,并不需要每次触发校验就把当前录入内容放到exists里。