![](/img/trans.png)
[英]How to convert this birth date into age in Node js with Mongoose
[英]How to format and validate birth date node js
我希望用戶> 18年。 因此,輸入的出生日期應大於18歲。
哪種方法最好?
我有一個注冊組件,並且我有這樣的字段:
<mat-form-field id="birth-date">
<input matInput [matDatepicker]="picker" placeholder="mm/dd/yy" name="birthDate" [(ngModel)]="birthDate">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
在我的usersRouter中,我具有注冊功能:
router.post('/users/register', (req, res) => {
...
const user = new User({
...
birthDate: req.body.birthDate,
...
});
...
});
另外,我使用mongo,在UserSchema中,我將其作為生日:
birthDate: {
type: Date,
required: true
}
謝謝!
為此使用時刻。 當您使用nodeJs時,它應該相當容易。 https://momentjs.com/
。 您可以像這樣在路由器中使用它
var years = moment().diff(req.body.birthDate, 'years');
現在檢查年份是否大於18。 如果不是,則在小於18的情況下將錯誤返回給用戶。但是最好的方法是在前端進行檢查,並在可能的情況下給出錯誤。
您可以用貓鼬編寫自定義驗證器
birthDate: {
type: Date,
validate: {
validator: function(v) {
v.setFullYear(v.getFullYear()+18)
const currentTime = new Date();
currentTime.setHours(0,0,0,0);
return v.getTime() <= currentTime.getTime();
},
message: props => 'You must be 18 years old.'
},
required: true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.