Я хочу использовать подтверждение отправки и синхронизации формы редукции одновременно. Использование только одного из них в одно и то же время работает, но когда я использую оба вместе, похоже, что проверка синхронизации перезаписывает результаты проверки отправки.Результирующая форма - синхронизация и отправка подтверждения в том же виде
export default class MyForm extends Component{
render() {
...
return (
...<form>
<Button onClick={handleSubmit(submit)}>Submit</Button>
</form>...
)
}
}
проверка Моя представить выглядит следующим образом:
const submit = (values, dispatch) => {
return new Promise((resolve, reject) =>
{
setTimeout(() => {
reject({ Password: 'Wrong password', _error: 'Login failed'})
console.log("rejected");
}, 1000) // simulate server latency
})}
Теперь я хотел бы добавить синхронизации Aswell проверки, поэтому я добавил validate
Aswell:
let myForm = reduxForm({
...
validate: validateForm
})(MyForm);
который выглядит следующим образом (снято с целью сокращения)
const validateForm = function(values){
let errors = {}
if(values.Password == "notAllowed"){
errors.Password = "this is not allowed"
}
console.log("validated sync", errors);
return errors;
}
Когда я теперь ввести что-то в поле пароля и нажмите отправить, я могу увидеть что-то вроде следующего:
- «одобренного синхронизации», ...
- (ударяя подать)
- (второй раз): отклонено *
- (сразу после этого): подтвержденная синхронизация.
Я вижу ошибки, связанные с проверкой синхронизации, но не ошибки проверки достоверности отправки (видимо, потому что она перезаписана выходом консоли сверху). Есть ли способ объединить эти два? Я хотел бы иметь подтверждение в реальном времени и на стороне сервера.
«То, что вы предлагаете, не может произойти, потому что форма Redux Form не будет отправлять вашу форму, если проверка проверки прошла.»- Можете ли вы сказать« если проверка синхронизации не удалась ». @ Erik-r? –
Да. Он не будет вызывать вашу функцию отправки, если проверка проверки не выполняется. –
@ErikR. У меня такая же проблема: есть форма регистрации, что может привести к общей ошибке сервера, которую я хотел бы установить в поле _error. _error получает перезапись после отправки, что было бы лучшей стратегией для сохранения этой ошибки? – gcedo