
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
react-form-validation-hoc
Advanced tools
Form validation for React
$ tnpm install react-form-validation-hoc --save
Please refer to async-validator for verification rules
import React from 'react';
import create from 'react-form-validation-hoc';
class MyForm extends React.Component {
state = {
name: '',
sex: '',
school: '',
}
handleSubmit = (event) => {
event.preventDefault();
this.props.validator.validateFields((errors, values) => {
console.log(errors); // eg. { name: "please enter your name", data.sex: "Please fill in male or female", data.school: "school is required" }
console.log(values); // eg. { name: "tony", data: { sex: "male", school: "ABC School" } }
});
}
render() {
const { FieldDecorator, errors } = this.props.validator;
return (
<form onSubmit={this.handleSubmit}>
<div>
<FieldDecorator
name={'name'}
value={this.state.name}
rules={[
{ required: true, message: 'please enter your name' },
]}
/>
name:
<input
value={this.state.name}
onChange={(event) => {
this.setState({
name: event.target.value,
});
}}
/>
</div>
<div>name error: <span style={{ color: 'red' }}>{errors.name}</span></div>
<div>
<FieldDecorator
name={'data.sex'}
value={this.state.sex}
rules={[
{
validator(rule, value, callback) {
if (value === 'male' || value === 'female') {
callback();
} else {
callback('Please fill in male or female');
}
},
},
]}
/>
sex:
<input
value={this.state.sex}
onChange={(event) => {
this.setState({
sex: event.target.value,
});
}}
/>
</div>
<div>sex error: <span style={{ color: 'red' }}>{errors['data.sex']}</span></div>
<div>
<FieldDecorator
name={'data.school'}
value={this.state.school}
rules={[
{ required: true, message: 'school is required' },
]}
/>
School:
<input
value={this.state.school}
onChange={(event) => {
this.setState({
school: event.target.value,
});
}}
/>
</div>
<div>school error: <span style={{ color: 'red' }}>{errors['data.school']}</span></div>
<input type="submit" value="Submit" />
</form>
);
}
}
export default create()(MyForm);
FAQs
Form validation for React
We found that react-form-validation-hoc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.