Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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.

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.