Je ne suis pas sûr de la façon de faire la validation de formulaire avec le composant antd <Form/>
trouvé here. La documentation spécifie un prop onSubmit
sur le composant <Form/>
, auquel un événement est transmis. Il semble alors déclencher une fonction à l'intérieur this.props.form
. Je suis actuellement en utilisant le code suivant:Validation de formulaire avec le composant de formulaire
handleSubmit(e) {
e.preventDefault();
console.log('before' + e.target.value)
this.props.validateFields((err, values) => {
console.log('errors: ' + err)
console.log(values)
if (!err) {
console.log('Received values of form: ', values);
}
});
}
<Form inline onSubmit={this.handleSubmit.bind(this)}>
....
</Form>
Je suis incapable de récupérer les valeurs de l'événement passé dans le rappel soumettre, comme
e.target.value
renvoie undefined.- Dans l'appel à
this.props.validateFields()
, comme indiqué dans la documentation, d'où proviennent ces valeurs?
- Dans l'appel à
C'est ce que je l'origine essayé, mais 'form' était toujours non défini. Comme c'est un accessoire, je suppose qu'il doit être passé par le composant parent. Comment passez-vous dans un prop dans un champ imbriqué comme 'this.props.form.validateFields', et à quoi ressemblerait la signature de cette fonction dans le parent? – Orbit
le 'this.props.form' est injecté par une fonction d'ordre supérieur de' Form.create', laissez-moi mettre à jour la réponse – Kossel
C'est essentiellement ce que j'ai fini avec. Les erreurs étaient causées par l'absence de '.bind (this)' sur plusieurs des gestionnaires, ce qui causait des problèmes avec les accessoires. Je vais marquer votre réponse comme correcte. – Orbit