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 ?
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 ?
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.
Entendi, muito obrigado