const [user, setuser] = useState({
fName: '', lName: '', password: '', email: '', username: ''
})
const [fNameError, setfNameError] = useState('');
const [lNameError, setlNameError] = useState('');
const [emailError, setemailError] = useState('');
const [passwordError, setpasswordError] = useState('');
const [usernameError, setusernameError] = useState('');
const changeHandler = (e) => {
setuser({
...user, [e.currentTarget.name]: e.currentTarget.value
})
}
const inputChecker = () => {
user.fName === '' || user.fName.length < 3 ? setfNameError('invalid') : setfNameError('valid');
user.lName === '' || user.lName.length < 3 ? setlNameError('invalid') : setlNameError('valid');
user.username === '' || user.username.length < 5 ? setusernameError('invalid') : setusernameError('valid');
user.password === '' || user.password.length < 6 ? setpasswordError('invalid') : setpasswordError('valid');
validateEmail(user.email) ? setemailError('valid') : setemailError('invalid');
if (fNameError == 'valid' && lNameError == 'valid' && emailError == 'valid' && passwordError == 'valid' && usernameError == 'valid') {
if (fNameError == 'valid') {
return true
}
return false
}
const submitHandler = (e) => {
e.preventDefault();
//
При отправке формы и вызове submitHandler, если все ошибки в функции inputChecker верны, мне нужно, чтобы inputChecker возвращал true, но он возвращает false при первом щелчке, даже когда все действительны, но когда я щелкните по нему во второй раз, чтобы он вернул значение true, и ниже проверка работает
// Может кто-нибудь сказать мне, что я делаю неправильно
if (inputChecker()) {
console.log(user);
}
}