使用Antd和redux-form-antd进行自定义验证

时间:2019-03-25 10:15:11

标签: reactjs redux antd

我正在使用redux-form-antd,但在验证方面有些困惑。对于Input,我正在使用以下内容:

import { Field } from "redux-form";
import { TextField } from 'redux-form-antd';

// validation
const validateAcronym = {
    validate: v => (v ? '' : 'Error')
};

// form layout
const formItemLayout = {
    labelCol: {
        xs: { span: 24 },
        sm: { span: 8 },
    },
    wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
    },
};

// antd field
<Field
    {...formItemLayout}
    {...validateAcronym}
    label="Acronym" name="acronym"
    component={TextField}
    placeholder="The Acronym of this Token"
/>

我不喜欢我的字段的错误消息。我想使用lambda,以便我可以在每个字段上传递自定义错误消息,但是如果将validate转换为Lambda,则在React上会出现错误。正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

我使用“ redux-form-antd”:“ 3.0.3”,这种方式对我有效。

validations.js

export const required = value => (value ? undefined : 'Required');

Form.js

import { required } from './validations';

<Field
    label="Acronym" name="acronym"
    component={TextField}
    validate={[required]}
    placeholder="The Acronym of this Token"
 />

我希望有帮助,干杯