Pelo que entendi dessa lógica, todos os inputs serão percorridos pelo forEach; depois disso, a função valida vai verificar se cada um desses inputs possui um dataset; caso tenha, vai armazelá-lo em uma constante. Depois disso, esse dataset vai ser checado para ver se existe detro de um objeto. Ok, depois de um tempo eu até entendi a lógica. A minha dúvida é: pra quê tudo isso? Isso não consome muito mais recursos do que simplesmente atribuir uma função de validação difetamente para cada input? Essa lógica é uma boa prática mesmo para formulários pequenos?