1
resposta

Campo com espaco em branco nao faz validação

Com o codigo abaixo nao estou conseguindo fazer validacao para campo com espaco em branco.

mongoose.Schema.Types.String.set("validate", {
    validator: (valor) => valor !== "" & " ",
    message: ({ path }) => `O campo ${path} foi fornecido em branco.`
});



{
    "nacionalidade": " "
}
1 resposta

Oi, José, tudo bem?

O problema é que no seu código você escreveu & em vez de &&, que é o "E" lógico do JavaScript (ou "Operador AND"). Basta corrigir o operador, assim a validação será feita corretamente e o campo com espaço em branco será considerado inválido.

Mas agora que você levantou essa questão, uma melhor forma de impedir espaços em branco seria escrever a função validadora da seguinte forma:

validator: (valor) => valor.trim() !== "",

O método trim() de strings remove espaços em branco no início e no final de uma string. Assim, a validação acima também irá funcionar para uma string com qualquer quantidade de espaços em branco, não apenas um.

Aproveitei sua ideia e criei essa atividade no curso!

Espero ter ajudado e bons estudos :)