How to Validate Email Addresses from Inputs in React.js
How can we validate email addresses from inputs in React.js?
We’ll be using the validator
module.
1. Install validator
#
Let’s install validator
using npm
.
npm install validator
2. Create utility function to validate email#
Let’s create a simple utility function to validate the email address.
import validator from 'validator';
const validateEmail = email => {
return validator.isEmail(email) && email.length > 0;
}
3. Validate when email changes#
Finally, we’ll call our validateEmail()
function when the email
string changes.
Depending on where we store the utility function, we may have to import it from another file.
Let’s place this inside a useEffect
hook that runs conditionally on email
.
export default function SomeComponent() {
const [email, setEmail] = useState("");
const [emailValid, setEmailValid] = useState(true);
useEffect(() => {
setEmailValid(validateEmail(email));
}, [email])
return (
<input
value={email}
onChange={e => setEmail(e.target.value)}
/>
)
}
We can then use the emailValid
boolean state to conditionally render an error message to the user.