Olá Fernando, tudo bem? Espero que sim!
Para corrigir esse erro, você pode usar a notação de acesso entre colchetes ([]) em combinação com this para acessar a propriedade dinamicamente. No entanto, o TypeScript precisa de informações de tipo adequadas para garantir a segurança do tipo durante a compilação.
Aqui está uma possível solução:
validar() {
const campos: Array<keyof this> = ['nm_fabricante'];
campos.forEach((campo) => {
const valor = this[campo];
if (typeof valor !== 'string' || valor.length === 0) {
throw new Error(`O Campo '${campo}' está inválido`);
}
});
}
Nessa solução, definimos o tipo Array para a variável campos, indicando que ela é uma matriz de chaves das propriedades da classe atual. Isso permitirá que o TypeScript inferira corretamente os tipos das propriedades ao acessá-las usando this[campo].
Certifique-se de ajustar o código conforme necessário, substituindo 'nm_fabricante' pelo nome da propriedade que você deseja validar. Além disso, verifique se você importou as dependências necessárias e se o restante do seu código está correto.
Espero ter ajudado!
Caso tenha dúvidas, fico à disposição.
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!