0.0.54 • Published 6 years ago
reconform v0.0.54
Reconform
Higher order component
config: {
fields: {
[fieldName: String]: {
?name: String // default: fieldName
?value: String | Array, // default: ''
?message: Node, // default: ''
?focused: Boolean, // default: false
?touched: Boolean, // default: false
?dirty: Boolean, // default: false
?valid: Boolean, // default: !Boolean(validator)
?validator: (value: String, props: Object) => Boolean | Node, // default: undefined
}
},
submitting: Boolean, // default: false,
onSubmit: (props: Object) => any // default: undefined
}
Usage example:
const enhance = withForm({
fields: {
username: {
validator: (value, props) => value.length > 12 && 'Too Long Amigo',
}
}
onSubmit: async (values, props) => {
await props.someHandler(values);
props.resetForm();
}
});
const Form = enhance(({ fields, submitting, fieldEventHandlers, onSubmit }) =>
<form onSubmit={onSubmit}>
<label>
<span>Username</span>
<input name={fields.username.name} value={fields.username.value} {...fieldEventHandlers} />
</label>
{fields.username.touched && !fields.username.valid && <p>{fields.username.message}</p>}
<button disabled={submitting}>Submit</button>
</form>
)
0.0.54
6 years ago
0.0.53
6 years ago
0.0.52
6 years ago
0.0.51
6 years ago
0.0.50
6 years ago
0.0.49
6 years ago
0.0.48
6 years ago
0.0.47
6 years ago
0.0.46
6 years ago
0.0.44
6 years ago
0.0.43
6 years ago
0.0.42
6 years ago
0.0.41
6 years ago
0.0.40
6 years ago
0.0.39
6 years ago
0.0.38
6 years ago
0.0.37
6 years ago
0.0.36
6 years ago
0.0.35
6 years ago
0.0.34
6 years ago
0.0.33
6 years ago
0.0.32
6 years ago
0.0.31
6 years ago
0.0.30
6 years ago
0.0.29
6 years ago
0.0.28
6 years ago
0.0.27
6 years ago
0.0.26
6 years ago
0.0.25
6 years ago
0.0.24
6 years ago
0.0.23
6 years ago
0.0.22
6 years ago
0.0.21
6 years ago
0.0.20
6 years ago
0.0.19
6 years ago
0.0.18
6 years ago
0.0.17
6 years ago
0.0.16
6 years ago
0.0.15
6 years ago
0.0.14
6 years ago
0.0.13
6 years ago
0.0.12
6 years ago
0.0.11
6 years ago
0.0.9
6 years ago
0.0.8
6 years ago
0.0.7
6 years ago
0.0.6
6 years ago
0.0.5
6 years ago
0.0.4
6 years ago
0.0.3
6 years ago
0.0.2
6 years ago
0.0.1
6 years ago