0.0.54 • Published 7 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
7 years ago
0.0.53
7 years ago
0.0.52
7 years ago
0.0.51
7 years ago
0.0.50
7 years ago
0.0.49
7 years ago
0.0.48
7 years ago
0.0.47
7 years ago
0.0.46
7 years ago
0.0.44
7 years ago
0.0.43
7 years ago
0.0.42
7 years ago
0.0.41
7 years ago
0.0.40
7 years ago
0.0.39
7 years ago
0.0.38
7 years ago
0.0.37
7 years ago
0.0.36
7 years ago
0.0.35
7 years ago
0.0.34
7 years ago
0.0.33
7 years ago
0.0.32
7 years ago
0.0.31
7 years ago
0.0.30
7 years ago
0.0.29
7 years ago
0.0.28
7 years ago
0.0.27
7 years ago
0.0.26
7 years ago
0.0.25
7 years ago
0.0.24
7 years ago
0.0.23
7 years ago
0.0.22
7 years ago
0.0.21
7 years ago
0.0.20
7 years ago
0.0.19
7 years ago
0.0.18
7 years ago
0.0.17
7 years ago
0.0.16
7 years ago
0.0.15
7 years ago
0.0.14
7 years ago
0.0.13
7 years ago
0.0.12
7 years ago
0.0.11
7 years ago
0.0.9
7 years ago
0.0.8
7 years ago
0.0.7
7 years ago
0.0.6
7 years ago
0.0.5
7 years ago
0.0.4
7 years ago
0.0.3
7 years ago
0.0.2
7 years ago
0.0.1
7 years ago