Skip to content

Commit 6adc7a9

Browse files
committed
[ADD] Added valdition in registration page
1 parent 072b654 commit 6adc7a9

File tree

1 file changed

+47
-8
lines changed

1 file changed

+47
-8
lines changed

carmanagement_client/src/Components/registration.js

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class Registration extends Component {
1313
username: "",
1414
password: "",
1515
email: "",
16+
},
17+
formError: {
18+
username: false,
19+
password: false,
20+
email: false,
1621
}
1722
}
1823
}
@@ -27,12 +32,37 @@ class Registration extends Component {
2732
...this.state.formValue,
2833
[name]: value,
2934

35+
},
36+
formError: {
37+
...this.state.formError,
38+
[name]: false,
39+
3040
}
3141
})
3242
}
3343

3444
handleSubmit = () => {
35-
console.log(this.state.formValue)
45+
let formError = {};
46+
let formData = this.state.formValue;
47+
let isValid = true;
48+
Object.keys(formData).forEach(key => {
49+
if (!formData[key]) {
50+
isValid = false;
51+
formError = {
52+
...formError,
53+
[key]: true
54+
}
55+
}
56+
})
57+
if (!isValid) {
58+
this.setState({
59+
formError: {
60+
...this.state.formError,
61+
...formError
62+
}
63+
})
64+
return;
65+
}
3666

3767
axios.post('/core/api/register/', {
3868
...this.state.formValue
@@ -57,13 +87,22 @@ class Registration extends Component {
5787
</div>
5888
<div className="card-body">
5989
<form className="login-form ml-4 mb-4 mr-4 mt-2">
60-
<label>Username</label>
61-
<input defaultValue="" className="" type="text" onChange={e => this.handleOnChange(e)} name="username" value={username} />
62-
<label className="mt-3">Email</label>
63-
<input defaultValue="" className="" type="text" onChange={e => this.handleOnChange(e)} name="email" value={email} />
64-
<label className="mt-3">Password</label>
65-
<input defaultValue="" className="" type="text" onChange={e => this.handleOnChange(e)} name="password" value={password} />
66-
<input className="mt-5 btn btn-primary btn-submit btn-block" value="Submit" onClick={e => this.handleSubmit(e)} type="button" />
90+
<div>
91+
<label>Username</label>
92+
<input className="" type="text" onChange={e => this.handleOnChange(e)} name="username" value={username} />
93+
<span className="text-danger">{this.state.formError.username && "Please enter your username"}</span>
94+
</div>
95+
<div>
96+
<label className="mt-3">Email</label>
97+
<input className="mb-2" type="text" onChange={e => this.handleOnChange(e)} name="email" value={email} />
98+
<span className="text-danger">{this.state.formError.email && "Please enter your email"}</span>
99+
</div>
100+
<div>
101+
<label className="mt-3">Password</label>
102+
<input className="mb-2" type="text" onChange={e => this.handleOnChange(e)} name="password" value={password} />
103+
<span className="text-danger">{this.state.formError.password && "Please enter your password"}</span>
104+
</div>
105+
<input className="mt-4 btn btn-primary btn-submit btn-block" value="Submit" onClick={e => this.handleSubmit(e)} type="button" />
67106

68107
</form>
69108
<p className="ml-4">Already have an account?<Link className="ml-1" to={"/login"}>Login</Link></p>

0 commit comments

Comments
 (0)