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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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