Skip to content

Commit 17e916f

Browse files
committed
fix bugs and show error message
1 parent 93cba7f commit 17e916f

File tree

6 files changed

+38
-9
lines changed

6 files changed

+38
-9
lines changed

src/Components/forms/header.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { Fragment } from 'react'
22

3-
export default ({ err }) => {
3+
export default ({ err, formInComplete }) => {
44
return (
55
<Fragment>
66
<span className="form-header">Volunteer Application Form</span>
@@ -10,11 +10,19 @@ export default ({ err }) => {
1010
complete the form below:
1111
</p>
1212
{err && (
13-
<p className="error">
13+
<p className="errors">
1414
{err}
1515
{window.scrollTo(0, 0)}
1616
</p>
1717
)}
18+
{formInComplete ? (
19+
<span className="errors container">
20+
From is incomplete, please check all your details.
21+
{window.scrollTo(0, 0)}
22+
</span>
23+
) : (
24+
''
25+
)}
1826
</Fragment>
1927
)
2028
}

src/Components/forms/helper.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const initialState = {
1818
msg: null,
1919
valuationError: false,
2020
acknowledgement: false,
21+
formInComplete: false,
2122
errors: {
2223
firstName: false,
2324
lastName: false,

src/Components/forms/index.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,19 @@
109109
.media {
110110
display: none;
111111
}
112+
.errors {
113+
color: #ff0b0b;
114+
text-align: center;
115+
border: 1px solid #dadada;
116+
font-size: 24px;
117+
border-radius: 5px;
118+
padding: 20px;
119+
position: absolute;
120+
top: 0px;
121+
width: 92%;
122+
background-color: #ecdada;
123+
height: fit-content;
124+
}
112125
@media screen and (max-width: 1000px) {
113126
.media {
114127
display: block;

src/Components/forms/index.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Forms extends Component {
1616
telOnChange = tel => {
1717
const { errors } = this.state
1818
errors[`${'tel'}`] = false
19-
this.setState({ tel, errors, submitted: false })
19+
this.setState({ tel, errors, submitted: false, formInComplete: false })
2020
}
2121

2222
onChange = e => {
@@ -27,7 +27,8 @@ class Forms extends Component {
2727
this.setState({
2828
[name]: type === 'checkbox' ? checked : value,
2929
submitted: false,
30-
errors
30+
errors,
31+
formInComplete: false
3132
})
3233
}
3334
}
@@ -69,7 +70,11 @@ class Forms extends Component {
6970

7071
handleSubmit = async e => {
7172
e.preventDefault()
72-
this.setState({ submitted: true, valuationError: false })
73+
this.setState({
74+
submitted: true,
75+
valuationError: false,
76+
formInComplete: false
77+
})
7378
const {
7479
firstName,
7580
lastName,
@@ -97,6 +102,9 @@ class Forms extends Component {
97102
})
98103
await this.validateArray({ guidePeople, techSkill, otherSkill })
99104
const emptyValues = validatedInputs.includes(true)
105+
if (emptyValues || valuationError) {
106+
this.setState({ formInComplete: true })
107+
}
100108
if (!emptyValues && !valuationError) {
101109
this.props.createVolunteerHandler({
102110
firstName,
@@ -117,6 +125,7 @@ class Forms extends Component {
117125

118126
onChangeCheckList = (e, name) => {
119127
const { guidePeople, techSkill, otherSkill } = this.state
128+
this.setState({ formInComplete: false })
120129
switch (name) {
121130
case 'guidePeople':
122131
let newGuidePeople = arrayOnChange(e, guidePeople)
@@ -134,7 +143,7 @@ class Forms extends Component {
134143

135144
render() {
136145
const { err, volunteer } = this.props
137-
const { disabled, acknowledgement } = this.state
146+
const { disabled, acknowledgement, formInComplete } = this.state
138147
if (volunteer && volunteer._id) {
139148
return (
140149
<div className="form-container container p-4">
@@ -152,7 +161,7 @@ class Forms extends Component {
152161
return (
153162
<div className="form-container container">
154163
<div>
155-
<Header err={err} />
164+
<Header err={err} formInComplete={formInComplete} />
156165
<form className="mb-4" onSubmit={this.handleSubmit} method="post">
157166
<Inputs
158167
{...this.props}

src/Components/forms/inputs/textArea.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export default ({
2323
value={value}
2424
onChange={onChange}
2525
/>
26-
{isEmpty && <span>{window.scrollTo(0, 200)}</span>}
2726
</FormGroup>
2827
)
2928
}

src/Components/forms/inputs/textInput.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ export default ({
2121
value={value}
2222
onChange={onChange}
2323
/>
24-
{isEmpty && <span>{window.scrollTo(0, 200)}</span>}
2524
</FormGroup>
2625
)
2726
}

0 commit comments

Comments
 (0)