Хотел проверить мои входные данные и изменить CSS в зависимости от взаимодействия с пользователем.
Начиная с требуемого метода проверки, я оборачиваю все свои входные компоненты <Field>
и передаю validate
массив func. Пока только required
.
Но для всех моих полей значение остается тем же touched: false
и error: "Required"
. Если я коснусь или добавлю что-то во ввод, эти значения останутся прежними.
Проверка
export const required = value => (value ? undefined : 'Required')
Ввод имени
import React from 'react';
import { Field } from 'redux-form'
import InputItem from 'Components/InputsUtils/InputItem';
import { required } from 'Components/InputsUtils/Validation';
const NameInput = () => (
<Field
name={item.spec.inputName}
type={item.spec.type}
component={InputItem}
validate={[required]}
props={item}
/>
);
export default NameInput;
Элемент ввода
import React from 'react';
const InputItem = ({ spec, meta: { touched, error } }) => {
const { type, placeholder } = spec;
return (
<input
className="input"
type={type}
placeholder={placeholder}
/>
);
};
export default InputItem;