`import React, { Component } from "react";
import { Card } from "material-ui/Card";
import { TextField } from "material-ui";
import ContentSend from "material-ui/svg-icons/content/send";
import SocialPerson from "material-ui/svg-icons/social/person";
import { ValidatorForm, TextValidator} from 'react-material-ui-form-validator';
import RaisedButton from "material-ui/RaisedButton";
const style = {
boxForm: {
textAlign: "center"
},
card: {
backgroundColor: "#fff",
marginBottom: "0px",
padding: "0px 0px 46px 0px",
fontSize: "16px",
color: "gray",
lineHeight: "25px",
marginTop: "10%"
}
};
class RegisterBox extends Component{
constructor(props) {
super(props);
this.state = {
user: {
companyName:null,
email:null,
role:"GDPR Administrator"
},
valid:false
};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange = (event) =>{
const { user } = this.state;
user[event.target.name] = event.target.value;
this.setState({ user });
};
handleBlur=(event) =>{
this.refs[event.target.name].validate(event.target.value);
};
handleSubmit = (event) =>{
event.preventDefault();
const { user } = this.state;
// const {valid}=this.state.valid;
if(Object.keys(user).length > 0 ){
this.props.handleSubmit(user);
}
};
render(){
let {user} = this.state;
let {role}="GDPR Administrator";
return (
<div className="grid-flex">
<div className="grid-row-flex grid-row-flex-lg">
<div className="grid-column-flex"/>
<div className="grid-column-flex" style={style.boxForm} >
<Card style={style.card}>
<div className="account-access-title">
<SocialPerson color="aaa" viewBox="0 -10 30 30" />
<span className=""> Authentication</span>
</div>
<br />
<br />
<br />
<ValidatorForm
onSubmit={this.handleSubmit} method="POST"
>
<TextValidator
floatingLabelText="Company Name"
ref="companyName"
onChange={this.handleChange}
onBlur={this.handleBlur}
name="companyName"
type="text"
validators={['required']}
errorMessages={['companyName field is required']}
value={user.companyName}
/>
<TextValidator
floatingLabelText="Email Address"
ref="email"
onChange={this.handleChange}
onBlur={this.handleBlur}
name="email"
type="email"
validators={['required','isEmail']}
errorMessages={['Email field is required','email is not valid']}
value={user.email}
/>
<TextField
defaultValue={user.role}
value={user.role}
disabled={true}
name="role"
/>
<br />
<br />
<div id="participantSubmit" >
<RaisedButton
type="submit"
onClick={this.handleSubmit}
label="Submit"
labelColor="#fff"
style={{ marginLeft: "8px" }}
backgroundColor="#22d3c5"
icon={<ContentSend />} />
</div>
</ValidatorForm>
<br />
<br />
<br />
</Card>
</div>
<div className="grid-column-flex"/>
</div>
</div>
);
}
};
export default RegisterBox;`
In here,the isEmail validation triggers when I enters a non valid email but the data is send with wrong email when I press the submit button.