2017-02-10 125 views
0

我使用formsy反应的(客户端验证)。它现在完美,但如果服务器端出现问题,我必须通过错误。Formsy反应验证(服务器响应)

是否可以提交表单时采取应对?从服务器获取响应?

或者我如何能实现,如果没有formsy? 我是新的反应 感谢您的帮助。 欣赏它!

回答

0

这是很容易的事与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> 
    ); 
    } 
});