根据你提供的代码,我注意到有一些问题需要解决。首先,为了让验证通过,你可以将输入框的值转换为数字类型,而不是字符串。这可以通过在<input>
标签的onBlur
事件处理程序中使用Number()
函数来实现。
<input type="text" className="form-control" {...maxAmount} onBlur={e => maxAmount.onChange(Number(e.target.value))} />
其次,在handleSubmit
函数中,你需要对返回的错误进行处理,并将其添加到错误对象中。当前的实现仅仅检查了必填字段,并未考虑其他验证规则。
const handleSubmit = (values) => {
const error = validator(values); // 进行字段验证
const requiredError = checkRequired()(null, values); // 检查必填字段
if (requiredError) {
error._error = requiredError; // 将错误信息添加到error对象中
}
if (!error._error) {
console.log('验证通过');
}
}
请确保将上述更改应用于你的代码,并在提交表单时进行相应的处理。
内容由零声教学AI助手提供,问题来源于学员提问