Skip to content

Instantly share code, notes, and snippets.

@souhe
Created October 16, 2017 22:11
Show Gist options
  • Save souhe/4a9bd58b080974a8083ca86fa914ddc7 to your computer and use it in GitHub Desktop.
Save souhe/4a9bd58b080974a8083ca86fa914ddc7 to your computer and use it in GitHub Desktop.
import React, { Component } from 'react';
import Input from './Input';
import withValidation from './withValidation';
class LoginForm extends Component {
handleSubmit = () => {
const isValid = this.props.validate();
if (isValid) {
// TODO: submit data
}
}
handleFlieldChange = (fieldName, value) => {
this.props.validateField(fieldName, value);
this.setState(state => ({
fields: {
...fields,
[fieldName]: value
}
}));
}
render {
return (
<div>
<Input
label="name"
value={this.state.fields.name}
errorMessage={this.props.errors.name}
/>
<button onClick={this.handleSubmit} />
</div>
);
}
}
export default withValidation({
name: (value) => !value && 'name cannot be empty' // Some rules for each fields
})(LoginForm);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment