Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Crossfield validator com passagem de parâmetro

Boa tarde, Fiquei na dúvida e gostaria de saber como fazer uma validação crossfield que aceite um parâmetro como argumento. Como exemplo uma validação genérica de período entre datas onde eu passaria por parâmetro um número de dias que seria o número de dias máximo do período em questão para não permitir que o usuário escolha um período maior do que o desejado. Outros possíveis parâmetros poderiam ser os nomes dos campos de data inicial e data final para poder tornar a validação realmente genérica.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Uma solução possível para este problema seria você em vez de criar o validator diretamente criar um factory, este recebe os parâmetros e retorna um validator como você espera.

export validatorFactory  = (days: number) => {
    return (formGroup: FormGroup) => {
        // Validação da quantidade de dias aqui
        return null;
    }
}

Muito obrigado Charles. Sua solução funcionou perfeitamente aqui pra mim.