Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

499
Visualizações
javascript/mecanografiado | validador de clase | decoradores de validación personalizados | anular `validationOptions` dentro del método `validator`

Considere el ejemplo proporcionado en la sección Decoradores de validación personalizados :

 // Decorator definition import { registerDecorator, ValidationOptions, ValidationArguments } from 'class-validator'; export function IsLongerThan(property: string, validationOptions?: ValidationOptions) { return function (object: Object, propertyName: string) { registerDecorator({ name: 'isLongerThan', target: object.constructor, propertyName: propertyName, constraints: [property], options: validationOptions, validator: { validate(value: any, args: ValidationArguments) { const [relatedPropertyName] = args.constraints; const relatedValue = (args.object as any)[relatedPropertyName]; return typeof value === 'string' && typeof relatedValue === 'string' && value.length > relatedValue.length; // you can return a Promise<boolean> here as well, if you want to make async validation }, }, }); }; }
 // Decorator usage import { IsLongerThan } from './IsLongerThan'; export class Post { title: string; @IsLongerThan('title', { /* you can also use additional validation options, like "groups" in your custom validation decorators. "each" is not supported */ message: 'Text must be longer than the title', }) text: string; }

¿Cómo puedo establecer/anular la cadena de message de forma condicional, dentro del método de validator ? es posible?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Lo encontré:

 export function IsLongerThan(property: string, validationOptions?: ValidationOptions) { return function (object: Object, propertyName: string) { let message; const validate = function (value: any, args: ValidationArguments) { // Set message based on some validation logic // message = ... } const defaultMessage = function () { return message; } registerDecorator({ name: 'isLongerThan', target: object.constructor, propertyName: propertyName, constraints: [property], options: validationOptions, validator: { validate, defaultMessage }, }); }; }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda