Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida no Uso de Validador ou Required

Bom dia, tudo bem?

Durante a explicação me surgiu uma duvida, no caso em que o campo nao pode ser enviado em Branco nao poderiamos deixar a propriedade nacionalidade como Required ?

2 respostas
solução!

Olá Herbert. Tudo bem?

Sim, você pode usar a propriedade required para garantir que o campo não seja deixado em branco. No entanto, no contexto da aula que você está seguindo, o foco é em criar uma validação global que impede o envio de strings vazias para qualquer campo do tipo string.

Se você quiser garantir que o campo nacionalidade seja sempre preenchido, além de não permitir strings vazias, você pode adicionar a propriedade required ao campo no seu schema, assim como está feito para o campo nome. Aqui está um exemplo de como isso poderia ser feito:

const autorSchema = new mongoose.Schema(
  {
    id: {type: String},
    nome: {
      type: String,
      required: [true, "O nome do(a) autor(a) é obrigatório"]
    },
    nacionalidade: {
      type: String,
      required: [true, "A nacionalidade é obrigatória"]
    }
  },
  {
    versionKey: false
  }
);

Com isso, o Mongoose irá garantir que o campo nacionalidade não seja apenas não vazio, mas também que ele esteja presente em cada documento criado com esse schema.

Espero ter ajudado.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Entendi, muito obrigado