1
私の基本的なリアクションでは、emailとパスワードの入力をチェックする次のonFormSubmit関数があります。真偽の代わりにエラーチェックで未定義を返す関数の検証
フォームがデータなしで送信された場合、電子メールとパスワードは両方とも""
です。
しかし、emailErr
とpasswordErr
の両方に対して、validate関数は未定義を返します。
validate関数内のログは何もログアウトしませんが、ブレークポイントを設定すると空の""
が表示されます。これらの空の文字列は、return文でtrueに検証されるべきですが、返されません。
onFormSubmit(e) {
e.preventDefault();
const email = e.target.email.value;
const password = e.target.password.value;
const validate = (email, password) => {
console.log('validate');
console.log(' email', email);
console.log(' password', password);
// true means invalid
return {
email: email.length === 0,
password: password.length === 0,
};
}
const { emailErr, passwordErr } = validate(email, password);
console.log('emailErr', emailErr);
console.log('passwordErr', passwordErr);
if (emailErr) {
console.log('No email!');
}
else if (passwordErr) {
console.log('No password');
}
};