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.

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.