You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Admin 2.9版本SimpleForm字段验证问题求助

React-Admin 2.9 字段验证问题解决方案

你可以通过包装原验证函数的方式,在validate数组里实现需求——让validatefunction返回0时验证通过,返回值大于0时触发失败。

React-Admin 2.9的验证规则逻辑是:验证函数返回undefined则视为通过,返回任意非undefined值(通常是错误信息字符串)则视为失败。你的validatefunction返回的数字会被框架判定为非通过状态,所以需要一层转换:

修改ReferenceInput的validate配置如下:

<ReferenceInput
    source="somefield"
    validate={[ 
        required(), 
        (value, allValues) => {
            const validateResult = validatefunction(value, allValues);
            // 返回0时验证通过,返回>0时返回错误信息触发失败
            return validateResult > 0 ? "输入不符合要求,请检查" : undefined;
        }
    ]}
>
    <SelectInput optionText="name" />
</ReferenceInput>

如果需要根据返回的不同数值展示对应错误信息,也可以扩展逻辑:

(value, allValues) => {
    const validateResult = validatefunction(value, allValues);
    if (validateResult === 0) return undefined;
    if (validateResult === 1) return "请选择有效的选项";
    if (validateResult === 2) return "该选项已被占用";
    return "输入不满足要求";
}

内容的提问来源于stack exchange,提问作者Woodchuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:40:26