【发布时间】:2017-02-10 23:00:11
【问题描述】:
我正在使用 formsy-react(用于客户端验证)。它现在很完美,但如果服务器端出现问题,我必须传递错误。
提交表单后是否可以回复?从服务器获取响应?
或者我如何在没有表单的情况下实现这一点? 我是新来的反应 感谢帮助。 欣赏它!
【问题讨论】:
标签: javascript reactjs formsy-react
我正在使用 formsy-react(用于客户端验证)。它现在很完美,但如果服务器端出现问题,我必须传递错误。
提交表单后是否可以回复?从服务器获取响应?
或者我如何在没有表单的情况下实现这一点? 我是新来的反应 感谢帮助。 欣赏它!
【问题讨论】:
标签: javascript reactjs formsy-react
使用Formsy-react 非常容易。您可以使用updateInputWithError 方法(Documents here)或使用invalidateForm,它作为onValidSubmit 的参数传递。
以onValidSubmit 为例:
const App = React.createClass({
...
submit(model, resetForm, invalidateForm) {
this.callServerAPI()
.then(...)
.catch((serverErrors) => {
// serverErrors should be
// { Name: 'Name is too long', Class: 'Class is not valid' }
invalidateForm(serverErrors); // Just call invalidateForm
});
},
render() {
return (
<Formsy.Form ref="form" onValidSubmit={this.submit}>
<MyInput name="Name" title="Name" value={user.name} />
<MyInput name="Class" title="Class" value={user.class} />
<div className="buttons">
<button type="submit">Submit</button>
</div>
</Formsy.Form>
);
}
});
【讨论】: