Files
yara724api/src/common/validators/has-objection-entries.validator.ts
2026-05-20 11:08:47 +03:30

25 lines
744 B
TypeScript

import {
ValidationArguments,
ValidatorConstraint,
ValidatorConstraintInterface,
} from "class-validator";
@ValidatorConstraint({ name: "hasObjectionEntries", async: false })
export class HasObjectionEntriesConstraint
implements ValidatorConstraintInterface
{
validate(_value: unknown, args: ValidationArguments): boolean {
const o = args.object as {
objectionParts?: unknown[];
newParts?: unknown[];
};
const partsLen = Array.isArray(o.objectionParts) ? o.objectionParts.length : 0;
const newLen = Array.isArray(o.newParts) ? o.newParts.length : 0;
return partsLen > 0 || newLen > 0;
}
defaultMessage(): string {
return "Provide at least one entry in objectionParts and/or newParts.";
}
}