Skip to content

Commit 1d9fe00

Browse files
committed
start working at errors
1 parent a7a93a7 commit 1d9fe00

File tree

4 files changed

+23
-12
lines changed

4 files changed

+23
-12
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-tracker",
3-
"version": "1.2.2",
3+
"version": "1.2.3",
44
"private": true,
55
"dependencies": {
66
"@fortawesome/fontawesome-svg-core": "^1.2.18",

src/components/form/date.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ const DateInput = (props) => {
1010
const [visibleCalendar, setVisibleCalendar] = useState(false);
1111
const handleView = () => setVisibleCalendar(state => !state);
1212

13-
const mandatoryStr = mandatory && <span className="text-muted">*</span>;
13+
const mandatoryStr = mandatory && <span className={err ? 'text-danger' : 'text-muted'}>*</span>;
1414
return (
1515
<div className="form-group">
16-
<label>
16+
<label className={err ? 'text-danger' : null}>
1717
{label}
1818
{mandatoryStr}
1919
</label>
@@ -32,7 +32,7 @@ const DateInput = (props) => {
3232
type="text"
3333
name={name}
3434
value={value}
35-
className={'form-control'}
35+
className={`${err && 'is-invalid'} form-control`}
3636
placeholder={placeholder || label}
3737
/>
3838
</div>
@@ -41,7 +41,7 @@ const DateInput = (props) => {
4141
display={visibleCalendar}
4242
onSelectDate={onSelectDate}
4343
/>
44-
<small className={`${err && 'text-danger'} form-text text-muted`}>
44+
<small className={`${err ? 'text-danger' : 'text-muted'} form-text `}>
4545
{helper || 'Это поле обязательное для заполнения'}
4646
</small>
4747
</div>

src/components/form/input_text.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
33

44
const TextInput = props => {
55
const { name, onChange, value = '', label, placeholder, mandatory = false, helper, err } = props;
6-
const mandatoryStr = mandatory && <span className="text-muted">*</span>;
6+
const mandatoryStr = mandatory && <span className={err ? 'text-danger' : 'text-muted'}>*</span>;
77
return (
88
<div className="form-group">
99
<label htmlFor={name} className={err ? 'text-danger' : null}>
@@ -16,8 +16,8 @@ const TextInput = props => {
1616
value={value}
1717
className={`${err && 'is-invalid'} form-control`}
1818
placeholder={placeholder || label} />
19-
<small className={`${err && 'text-danger'} form-text text-muted`}>
20-
{helper}
19+
<small className={`${err ? 'text-danger' : 'text-muted'} form-text`}>
20+
{helper || 'Это поле обязательно для заполнения'}
2121
</small>
2222
</div>
2323

src/components/main_form/index.jsx

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ class MainForm extends React.Component {
3838
data: { ...prevState.data, ...this.state.data }
3939
});
4040
}
41-
4241
}
4342

4443
handleChange = (e) => {
@@ -64,8 +63,20 @@ class MainForm extends React.Component {
6463
handleSaveData = (e) => {
6564
e.preventDefault();
6665
const { data } = this.state;
67-
const { taskStatus = TODO } = data;
66+
const { taskStatus = TODO, taskDate, taskName } = data;
6867
const { taskList, taskForEdit } = this.props;
68+
69+
if (!taskDate || !taskName) {
70+
this.setState(prevState => ({
71+
err: {
72+
...prevState.err,
73+
taskName: !!prevState.err.taskName ? '' : 'Это поле обязательно для заполнения',
74+
taskDate: !!prevState.err.taskDate ? '' : 'Это поле обязательно для заполнения'
75+
}
76+
}));
77+
return false;
78+
}
79+
6980
if (this.props.formState === FORM_ADD) {
7081
const newItem = { ...data, taskStatus, id: String(Date.now()) };
7182
this.props.taskAdd({ newItem, taskList });
@@ -122,8 +133,8 @@ class MainForm extends React.Component {
122133
label='Task date'
123134
placeholder='Date'
124135
onSelectDate={this.handleSelectDate}
125-
helper={this.state.err.taskName}
126-
err={!!this.state.err.taskName}
136+
helper={this.state.err.taskDate || 'Выберите дату'}
137+
err={!!this.state.err.taskDate}
127138
mandatory
128139
/>
129140

0 commit comments

Comments
 (0)