react form
react form
EXPERIMENT NO: 06
Code:
App.js
import "./App.css";
const App = () => {
username: "",
email: "",
password: "",
});
// Validation Functions
const validateUsername = (username) => {
return "";
};
return "";
};
const validatePassword = (password) => {
const passwordRegex =
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{6,}$/
;
if (!passwordRegex.test(password))
return "";
};
const newErrors = {
username: validateUsername(formData.username),
email: validateEmail(formData.email),
password: validatePassword(formData.password),
};
setErrors(newErrors);
setErrors({});
} else {
setSuccessMessage("");
};
};
// Reset form
setErrors({});
setSuccessMessage("");
};
return (
<div className="app">
<div className="form-group">
<label>Username:</label>
<input
type="text"
name="username"
value={formData.username}
onChange={handleChange}
/>
<div className="form-group">
<label>Email:</label>
<input
type="email"
name="email"
value={formData.email}
onChange={handleChange}
/>
{errors.email && <p
className="error-message">{errors.email}</p>}
</div>
<div className="form-group">
<label>Password:</label>
<input
type="password"
name="password"
value={formData.password}
onChange={handleChange}
</div>
<div className="form-actions">
<button type="submit">Submit</button>
Reset
</button>
</div>
</form>
</div>
);
};
App.css
body {
background-color: #f0f8ff;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
.app {
background: white;
padding: 20px;
border-radius: 8px;
width: 400px;
text-align: center;
h1 {
color: #333;
.form-group {
margin-bottom: 20px;
text-align: left;
}
label {
display: block;
font-weight: bold;
margin-bottom: 5px;
input {
width: 100%;
padding: 10px;
border-radius: 4px;
}
.error-message {
color: #d9534f;
font-size: 0.9em;
margin-top: 5px;
.success-message {
color: #5cb85c;
font-size: 1em;
margin-bottom: 20px;
}
.form-actions button {
margin: 5px;
border: none;
border-radius: 4px;
cursor: pointer;
.form-actions button[type="submit"] {
background-color: #007bff;
color: white;
}
.form-actions button[type="submit"]:hover {
background-color: #0056b3;
.form-actions button[type="button"] {
background-color: #6c757d;
color: white;
.form-actions button[type="button"]:hover {
background-color: #5a6268;
Output: