根据你提供的代码片段,存在一些问题和需要修改的地方。首先,在checkRequired函数中,应该返回一个错误信息字符串,而不是只有在条件满足时返回一个固定的字符串”都要填写”。可以根据需要返回具体的错误信息。
其次,在checkoutLegalPerson函数中,参数value没有传入,因此在判断条件中会出现错误。可以将value作为参数传递进去,并对其进行判空处理。
最后,在handleSubmit函数中,使用了未定义的变量 requieredError ,我猜测你可能想要使用 requiredError 。另外,通过调用 validator(values) 可以得到验证结果对象 error, 但是在下面检查 requiredError 时却传入了 null 和 value 参数(可能需要根据实际情况修改)。
下面是修改后的代码示例:
const trimLeft = function trimLeft(s) {
return s.replace(/(^\s*)/g, '');
};
const isEmpty = function isEmpty(value) {
return value === undefined || value === null || trimLeft(value) === '';
};
const checkRequired = () => {
return (value, fields) => {
if (isEmpty(fields['minAmount']) || isEmpty(fields['maxAmount']) || isEmpty(fields['repayChannel'])) {
return '都要填写';
}
// 返回具体的错误信息
// ...
};
};
const checkoutLegalPerson = (field) => {
return (value) => {
if (!value) {
return `${field}不能为空`;
}
};
};
const validator = createValidator({
// 其他字段验证规则
});
const handleSubmit = (values) => {
console.log('1111111');
const error = validator(values);
const requiredError = checkRequired()(null, values); // 根据实际情况传入需要验证的字段值
if (requiredError) {
error._error = requiredError;
}
if (!error._error) {
console.log('验证通过');
}
}
<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))} />
</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))} />
</div>
</InputGroup>
请注意,以上代码只是根据你提供的信息进行了修改,并不能保证完全正确,具体还需要根据实际需求进行调整。
内容由零声教学AI助手提供,问题来源于学员提问




