27 lines
973 B
TypeScript
27 lines
973 B
TypeScript
import { TFunction } from "i18next";
|
|
import Joi from "joi";
|
|
|
|
export const createLoginSchema = (t: TFunction) =>
|
|
Joi.object({
|
|
email: Joi.string()
|
|
.email({ tlds: { allow: false } })
|
|
.required()
|
|
.messages({
|
|
"any.required": t("login_page.validation.email_required"),
|
|
"string.empty": t("login_page.validation.email_required"),
|
|
"string.base": t("login_page.validation.email_invalid"),
|
|
"string.email": t("login_page.validation.email_invalid"),
|
|
}),
|
|
password: Joi.string()
|
|
.min(4)
|
|
.alphanum()
|
|
.required()
|
|
.messages({
|
|
"any.required": t("login_page.validation.password_required"),
|
|
"string.empty": t("login_page.validation.password_required"),
|
|
"string.base": t("login_page.validation.password_alphanum"),
|
|
"string.min": t("login_page.validation.password_min", { count: 4 }),
|
|
"string.alphanum": t("login_page.validation.password_alphanum"),
|
|
}),
|
|
});
|