При отправке у меня будет метод с именем: validateFields
, который будет проверять все поля, как вы хотите (вместо использования стандартного валидатора html, который не работает в некоторых браузерах). В методе я бы сохранил все поля с ошибкой.
Если список ошибок (или объект) не пуст, вы используете предупреждение или всплывающее окно реагировать-всплывающее окно
Если ошибок нет, вы можете вызвать метод submit.
По сути, это будет выглядеть примерно так:
export default class DumbComponent extends React.Component {
state = {} // all your field value
validateField = () => {
let error = []
//Validate all your field
if (error.length === 0) {
this.submit()
} else {
this.showError() // You decide the way
}
}
render() {
return (
<Form>
<FieldOne />
<Field2 />
<SubmitButton onSubmit={this.validateField} />
</Form>
)
}
}
Надеюсь, это ответит на ваш вопрос!