Merge pull request #713 from bluewave-labs/fix/email-case

Fix/email case, resolves #566
This commit is contained in:
Alexander Holliday authored and GitHub committed 2024-08-23 15:19:31 -07:00
commit 9a3b6dc98a
6 files changed
+42 -13

No files matched your search

@@ -48,6 +48,7 @@ const Field = forwardRef(
placeholder,
value,
onChange,
onInput,
error,
disabled,
},
@@ -87,6 +88,7 @@ const Field = forwardRef(
multiline={type === "description"}
rows={type === "description" ? 4 : 1}
value={value}
onInput={onInput}
onChange={onChange}
disabled={disabled}
inputRef={ref}
@@ -176,6 +178,8 @@ const Field = forwardRef(
}
);
Field.displayName = "Field";
Field.propTypes = {
type: PropTypes.oneOf(["text", "password", "url", "email", "description"]),
id: PropTypes.string.isRequired,
@@ -189,6 +193,7 @@ Field.propTypes = {
placeholder: PropTypes.string,
value: PropTypes.string.isRequired,
onChange: PropTypes.func,
onInput: PropTypes.func,
error: PropTypes.string,
disabled: PropTypes.bool,
};
+1
View File
@@ -129,6 +129,7 @@ const StepOne = ({ form, errors, onSubmit, onChange, onBack }) => {
placeholder="jordan.ellis@domain.com"
autoComplete="email"
value={form.email}
onInput={(e) => (e.target.value = e.target.value.toLowerCase())}
onChange={onChange}
error={errors.email}
ref={inputRef}
@@ -226,6 +226,7 @@ const StepTwo = ({ form, errors, onSubmit, onChange, onBack }) => {
placeholder="jordan.ellis@domain.com"
autoComplete="email"
value={form.email}
onInput={(e) => (e.target.value = e.target.value.toLowerCase())}
onChange={onChange}
error={errors.email}
ref={inputRef}
+11 -8
View File
@@ -49,6 +49,13 @@ const credentials = joi.object({
.string()
.trim()
.email({ tlds: { allow: false } })
.custom((value, helpers) => {
const lowercasedValue = value.toLowerCase();
if (value !== lowercasedValue) {
return helpers.message("Email must be in lowercase");
}
return lowercasedValue;
})
.messages({
"string.empty": "Email is required",
"string.email": "Must be a valid email address",
@@ -72,14 +79,10 @@ const credentials = joi.object({
});
const monitorValidation = joi.object({
url: joi
.string()
.uri({ allowRelative: true })
.trim()
.messages({
"string.empty": "This field is required.",
"string.uri": "The URL you provided is not valid.",
}),
url: joi.string().uri({ allowRelative: true }).trim().messages({
"string.empty": "This field is required.",
"string.uri": "The URL you provided is not valid.",
}),
name: joi.string().trim().max(50).allow("").messages({
"string.max": "This field should not exceed the 50 characters limit.",
}),
+2 -3
View File
@@ -2,6 +2,5 @@
!build_images.sh
mongo/data/*
redis/data/*
nginx/*
certbot/*
*.env
*.env
certbot/*
+22 -2
View File
@@ -16,7 +16,17 @@ const roleValidatior = (role) => (value, helpers) => {
//****************************************
const loginValidation = joi.object({
email: joi.string().email().required(),
email: joi
.string()
.email()
.required()
.custom((value, helpers) => {
const lowercasedValue = value.toLowerCase();
if (value !== lowercasedValue) {
return helpers.message("Email must be in lowercase");
}
return lowercasedValue;
}),
password: joi
.string()
.min(8)
@@ -35,7 +45,17 @@ const registerValidation = joi.object({
.string()
.required()
.pattern(/^[A-Za-z]+$/),
email: joi.string().email().required(),
email: joi
.string()
.email()
.required()
.custom((value, helpers) => {
const lowercasedValue = value.toLowerCase();
if (value !== lowercasedValue) {
return helpers.message("Email must be in lowercase");
}
return lowercasedValue;
}),
password: joi
.string()
.min(8)