根据您提供的代码片段,最后验证通过的问题可以通过以下步骤解决:
- 在
handleSubmit
函数中,将表单的值转换为字符串类型,以确保与校验规则中的字符匹配。可以使用toString()
方法进行转换。
const handleSubmit = (values) => {
console.log('1111111');
// 将值转换为字符串类型
values.minAmount = values.minAmount.toString();
values.maxAmount = values.maxAmount.toString();
const error = validator(values);
const requiredError = checkRequired()(null, values);
if (requiredError) {
error._error = requiredError;
}
if (!error._error) {
console.log('验证通过');
}
}
- 对于输入框组件,您可以在
onBlur
处理程序中添加适当的类型转换。例如,在<InputGroup>
组件中:
<InputGroup field={minAmount} label="最小授信金额" sm={3} lsm={3} size="sm">
<div className="col-sm-9">
<input
type="text"
className="form-control"
{...minAmount}
onBlur={e => minAmount.onChange(Number(e.target.value).toString())}
/>
</div>
</InputGroup>
<InputGroup field={maxAmount} label="最大授信金额" sm={3} lsm={3} size="sm">
<div className="col-sm-9">
<input
type="text"
className="form-control"
{...maxAmount}
onBlur={e => maxAmount.onChange(Number(e.target.value).toString())}
/>
</div>
</InputGroup>
通过将输入值转换为字符串类型,确保与校验规则中的字符匹配,并且在提交时进行正确的验证。这样您就可以获得验证通过的结果了。
内容由零声教学AI助手提供,问题来源于学员提问