在React-Admin中验证SimpleForm字段



我使用的是旧版本(2.9)的React-Admin框架,在验证SimpleForm字段时遇到了麻烦。我意识到升级到新版本是必经之路,但那需要一段时间。我正在验证SimpleForm中的字段。

我的validatefunction(下面)返回一个整数,0或更高。我希望验证通过当该值为0,但失败当值为>0. 目前,表单在所有情况下都无法进行验证。相反,我希望它只在返回值为>

0。是否有某种方法可以指定在下面的SimpleForm中使用validate行上的某种表达式?

const MyComponent = ({ dispatch, dataProvider, ...props }) => {
return (
<React.Fragment>
<SimpleForm>
...
<ReferenceInput
source="somefield"
validate={[ required(), validatefunction ]}
>
<SelectInput optionText="name" />
</ReferenceInput>
...
</SimpleForm>
</React.Fragment>
)
}

一个更好的方法可能是让我的validatefunction在验证通过时返回undefined。但是由于这里范围之外的原因,我还没有使它工作。

如果有错误,您的validateFunction应该返回一个字符串。

const validatefunction = (value) => {
const validatorValue = oldValidateFunction(value);
if (validatorValue > 0) {
return 'error this does not validate';
}
}

请参阅https://marmelab.com/react-admin/doc/2.9/CreateEdit.html#per-input-validation-custom-function-validator获取输入验证器的文档。

相关内容

  • 没有找到相关文章

最新更新