我有一個組件使用正則表達式來檢查電子郵件格式的有效性。我將它附加為輸入的 onBlur 函數,該函數useEffect在頁面加載時也作為 React 鉤子的一部分在加載時運行。該函數應該檢查空字段并觸發錯誤消息,提示用戶輸入電子郵件地址或選擇退出。如果輸入的電子郵件格式錯誤,則應觸發單獨的錯誤。加載時一切都按預期運行,初始錯誤觸發空輸入。用戶輸入輸入字段并離開后會出現此問題。即使輸入字段為空,該函數也會觸發并設置提示用戶輸入有效電子郵件的錯誤。我已經換掉了東西,最初試圖通過將第一個檢查設置為if(value === undefined || ''但到目前為止,我得到了相同的行為。有什么建議么?Functions for validationfunction validateEmail(value) { const errors = { hasError: false } if (value === undefined || '') { errors.email = 'Enter a valid email address or select Email Opt Out' errors.hasError = true return errors } if (!/\S+@\S+\.\S+/.test(value)) { errors.email = 'Enter a valid email address' errors.hasError = true return errors } return errors}
正則表達式驗證在函數調用時沒有返回正確的結果
慕婉清6462132
2021-06-29 13:52:44