nestjs-angolan-validator
Version:
A NestJS validator decorator for Angolan documents (BI, IBAN, NIF, Phone)
20 lines (18 loc) • 704 B
Markdown
import {
ValidatorConstraint,
ValidatorConstraintInterface,
} from "class-validator";
({ name: "AngolanPhoneValidator", async: false })
export class AngolanPhoneValidator implements ValidatorConstraintInterface {
validate(phone: string): Promise<boolean> | boolean {
const cleaned = phone.replace(/\D/g, "");
// Valida números angolanos:
// - Começa com 244, 00244 ou +244 seguido de 9 dígitos
// - Ou começa com 9 seguido de 8 dígitos
const regex = /^((\+|00)?244)?[9][1-9]\d{7}$/;
return regex.test(cleaned);
}
defaultMessage(): string {
return "Número de telefone inválido. Exemplos válidos: +244 923000123";
}
}