Adding a constraint to the phone number

This commit is contained in:
Maxime Lalo 2023-12-04 15:24:58 +01:00
parent 1d7347879b
commit 21837e8b91
2 changed files with 118 additions and 48 deletions

View File

@ -44,30 +44,61 @@ __decorate([
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }),
(0, class_validator_1.NotEquals)(null || '', { groups: ["updateCustomer"], message: "Prénom ne peut pas être vide" }),
(0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Prénom ne peut pas être vide" }),
(0, class_validator_1.NotEquals)(null || "", {
groups: ["updateCustomer"],
message: "Prénom ne peut pas être vide",
}),
(0, class_validator_1.IsNotEmpty)({
groups: ["createCustomer"],
message: "Prénom ne peut pas être vide",
}),
__metadata("design:type", String)
], Contact.prototype, "first_name", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }),
(0, class_validator_1.NotEquals)(null || '', { groups: ["updateCustomer"], message: "Nom ne peut pas être vide" }),
(0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Nom ne peut pas être vide" }),
(0, class_validator_1.NotEquals)(null || "", {
groups: ["updateCustomer"],
message: "Nom ne peut pas être vide",
}),
(0, class_validator_1.IsNotEmpty)({
groups: ["createCustomer"],
message: "Nom ne peut pas être vide",
}),
__metadata("design:type", String)
], Contact.prototype, "last_name", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }),
(0, class_validator_1.NotEquals)(null || '', { groups: ["updateCustomer"], message: "Email ne peut pas être vide" }),
(0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Email ne peut pas être vide" }),
(0, class_validator_1.IsEmail)({}, { groups: ["createCustomer", "updateCustomer"], message: "Format de l'email incorrect" }),
(0, class_validator_1.NotEquals)(null || "", {
groups: ["updateCustomer"],
message: "Email ne peut pas être vide",
}),
(0, class_validator_1.IsNotEmpty)({
groups: ["createCustomer"],
message: "Email ne peut pas être vide",
}),
(0, class_validator_1.IsEmail)({}, {
groups: ["createCustomer", "updateCustomer"],
message: "Format de l'email incorrect",
}),
__metadata("design:type", String)
], Contact.prototype, "email", void 0);
__decorate([
(0, class_transformer_1.Expose)(),
(0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }),
(0, class_validator_1.NotEquals)(null || '', { groups: ["updateCustomer"], message: "Numéro de téléphone ne peut pas être vide" }),
(0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Numéro de téléphone ne peut pas être vide" }),
(0, class_validator_1.NotEquals)(null || "", {
groups: ["updateCustomer"],
message: "Numéro de téléphone ne peut pas être vide",
}),
(0, class_validator_1.IsNotEmpty)({
groups: ["createCustomer"],
message: "Numéro de téléphone ne peut pas être vide",
}),
(0, class_validator_1.Matches)(/^\+[2-9]{2,3}[0-9]{9}$/, {
groups: ["createCustomer", "updateCustomer"],
message: "Le numéro de téléphone doit être au format 06XXXXXXXX",
}),
__metadata("design:type", String)
], Contact.prototype, "cell_phone_number", void 0);
__decorate([
@ -89,4 +120,3 @@ __decorate([
__metadata("design:type", Address_1.default)
], Contact.prototype, "address", void 0);
exports.default = Contact;
;

View File

@ -1,7 +1,14 @@
export * from "../Customer/Contact";
import { Expose, Type } from "class-transformer";
import ContactCustomer, { ECivility } from "../Customer/Contact";
import { IsEmail, IsNotEmpty, IsOptional, NotEquals, ValidateNested } from "class-validator";
import {
IsEmail,
IsNotEmpty,
IsOptional,
Matches,
NotEquals,
ValidateNested,
} from "class-validator";
import Address from "./Address";
export default class Contact extends ContactCustomer {
@ -10,27 +17,61 @@ export default class Contact extends ContactCustomer {
@Expose()
@IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || '', { groups: ["updateCustomer"], message: "Prénom ne peut pas être vide" })
@IsNotEmpty({ groups: ["createCustomer"], message: "Prénom ne peut pas être vide" })
@NotEquals(null || "", {
groups: ["updateCustomer"],
message: "Prénom ne peut pas être vide",
})
@IsNotEmpty({
groups: ["createCustomer"],
message: "Prénom ne peut pas être vide",
})
public override first_name!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || '', { groups: ["updateCustomer"], message: "Nom ne peut pas être vide" })
@IsNotEmpty({ groups: ["createCustomer"], message: "Nom ne peut pas être vide" })
@NotEquals(null || "", {
groups: ["updateCustomer"],
message: "Nom ne peut pas être vide",
})
@IsNotEmpty({
groups: ["createCustomer"],
message: "Nom ne peut pas être vide",
})
public override last_name!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || '', { groups: ["updateCustomer"], message: "Email ne peut pas être vide" })
@IsNotEmpty({ groups: ["createCustomer"], message: "Email ne peut pas être vide" })
@IsEmail({}, { groups: ["createCustomer", "updateCustomer"], message: "Format de l'email incorrect" })
@NotEquals(null || "", {
groups: ["updateCustomer"],
message: "Email ne peut pas être vide",
})
@IsNotEmpty({
groups: ["createCustomer"],
message: "Email ne peut pas être vide",
})
@IsEmail(
{},
{
groups: ["createCustomer", "updateCustomer"],
message: "Format de l'email incorrect",
}
)
public override email!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || '', { groups: ["updateCustomer"], message: "Numéro de téléphone ne peut pas être vide" })
@IsNotEmpty({ groups: ["createCustomer"], message: "Numéro de téléphone ne peut pas être vide"})
@NotEquals(null || "", {
groups: ["updateCustomer"],
message: "Numéro de téléphone ne peut pas être vide",
})
@IsNotEmpty({
groups: ["createCustomer"],
message: "Numéro de téléphone ne peut pas être vide",
})
@Matches(/^\+[2-9]{2,3}[0-9]{9}$/, {
groups: ["createCustomer", "updateCustomer"],
message: "Le numéro de téléphone doit être au format 06XXXXXXXX",
})
public override cell_phone_number!: string;
@Expose()
@ -47,5 +88,4 @@ export default class Contact extends ContactCustomer {
@ValidateNested({ groups: ["createCustomer", "updateCustomer"] })
@Type(() => Address)
public override address?: Address;
};
}