对于此模型,我要防止用户将日期设置为今天的日期之前的日期。我该怎么办?
var requestSchema = new Schema({
paciente: {
type: mongoose.Schema.Types.ObjectId,
ref: "User",
},
encaminhado: {
type: Boolean,
required: [true, "encaminhado is a required field"],
}, //vem do body
pessoaRisco: {
type: Boolean,
required: [true, "pessoaRisco is a required field"],
}, //vem do body
trabalhoRisco: {
type: Boolean,
required: [true, "trabalhoRisco is a required field"],
}, //vem do body
estadoPedido: {
type: String,
enum: ["Pendente", "Agendado", "Concluído", "Aguarda Resultado"],
},
resultado: { type: String, enum: ["Positivo", "Negativo"] },
dataExame: { type: Date }, //data tem de ser superior a data atual
});
答案 0 :(得分:1)
您可以使用验证功能,例如:
dataExame: {
type: Date,
validate: function(input) {
/* return true only if the input is a valid date, AND is
greater than or equal to the current date/time */
return typeof new Date(input) === 'date' && new Date(input) >= new Date();
},
message: input => `${input} must be greater than or equal to the current date!`
}, //data tem de ser superior a data atual