Skip to content

Commit 7cc497a

Browse files
(feat): userLogin
- user should login
1 parent e0ea199 commit 7cc497a

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

src/components/UserLogin.js

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import React, { Component } from 'react';
2+
import { Redirect } from 'react-router-dom';
3+
class UserLogin extends Component {
4+
state = {
5+
email: '',
6+
password: '',
7+
errors: {
8+
email: '',
9+
password: '',
10+
success:false,
11+
notUser:'',
12+
},
13+
}
14+
handleLoginChange = (event) => {
15+
const { name, value } = event.target
16+
17+
this.setState({
18+
[name]: value,
19+
})
20+
console.log('state',this.state);
21+
}
22+
submitForm = (event) => {
23+
let password = this.state.password;
24+
let email = this.state.email;
25+
if(email.length===0 || !(new RegExp(/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,15}/g).test(email))){
26+
event.preventDefault();
27+
this.setState({errors:{email:'Invalid email'}});
28+
return;
29+
}
30+
if(password.length<8){
31+
event.preventDefault();
32+
this.setState({errors:{password:'wrong password'}});
33+
return;
34+
}
35+
}
36+
render() {
37+
if(this.state.success===true){
38+
return <Redirect to="/currentWeather"/>
39+
}
40+
return (
41+
<div>
42+
<form>
43+
<div className="field-container">
44+
<input
45+
type="email"
46+
id="email"
47+
name="email"
48+
className="field"
49+
required
50+
placeholder="Email"
51+
onChange={this.handleLoginChange}
52+
53+
/><span>{this.state.errors.email}</span>
54+
</div>
55+
<div className="field-container">
56+
<input
57+
type="password"
58+
id="password"
59+
name="password"
60+
className="field"
61+
required
62+
placeholder="Password"
63+
onChange={this.handleLoginChange}
64+
65+
/><span>{this.state.errors.password}</span>
66+
</div>
67+
<span>{this.state.errors.notUser}</span>
68+
<input type="button" onClick={this.submitForm} value="Login" />
69+
</form>
70+
</div>
71+
72+
);
73+
}
74+
}
75+
export default UserLogin;

0 commit comments

Comments
 (0)