web-dev-qa-db-fra.com

Conception de fourmi. Comment définir dynamiquement le message d'erreur du champ de formulaire?

Un champ de formulaire a de nombreuses règles de vérification asynchrones, puisqu'un api composite peut vérifier ces règles une fois en retournant un résultat différent, je ne veux pas déclencher autant de demandes d'api.

6
zheng li

Utilisation form.setFields

Syntaxe

Function({ fieldName: { value: any, errors: Error } })

Exemple de ici -

this.props.form.setFields({
  user: {
    value: values.user,
    errors: [new Error('forbid ha')],
  },
});
17
Aseem Gautam

Lorsque vous devez ajouter un message d'erreur personnalisé, utilisez simplement les attributs validateStatus && help. Par exemple, vous avez une erreur en tant que loginError (chaîne) dans vos accessoires:

<Form.Item
    { ...props.loginError && {
        help: props.loginError,
        validateStatus: 'error',
    }}>
    {getFieldDecorator('email', {
        rules: [
            { required: true, message: 'You have to write the email' },
        ],
    })(
        <Input size="large"/>,
    )}
</Form.Item>
3
ybaturin

la syntaxe est mise à jour dans v4

la nouvelle syntaxe est:

setFields.   |  Set fields status   |   (fields: FieldData[]) => void

exemple :

form.setFields([
   {
     name: 'field-to-update',
     errors: ['error-string'],
   },
]);
2
js begginer