15 - Contact Form with Email and Message Validation
Description
Algorithm
Classes
Code
import React, { useState } from 'react';
function ContactForm() {
const [email, setEmail] = useState('');
const [message, setMessage] = useState('');
const [errors, setErrors] = useState({});
const validateEmail = (email) => {
// Email validation logic
};
const validateMessage = (message) => {
// Message validation logic
};
const handleSubmit = (event) => {
event.preventDefault();
const errors = {};
if (!validateEmail(email)) {
errors.email = 'Invalid email';
}
if (!validateMessage(message)) {
errors.message = 'Invalid message';
}
if (Object.keys(errors).length === 0) {
// Submit the form
} else {
setErrors(errors);
}
};
return (
<form onSubmit={handleSubmit}>
<input
type="email"
value={email}
onChange={(event) => setEmail(event.target.value)}
/>
<textarea
value={message}
onChange={(event) => setMessage(event.target.value)}
/>
{errors.email && <p>{errors.email}</p>}
{errors.message && <p>{errors.message}</p>}
<button type="submit">Submit</button>
</form>
);
}
export default ContactForm;
Explanation
Possible Future Enhancements
Last updated