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.
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')],
},
});
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>
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'],
},
]);