如前面所示,在用户创建任务的时候,不能为空,空的话就提示内容。
步骤:
1)创建一个简单的函数:
var Task = new Schema({
task : { type: String, validate: [validatePresenceOf, 'a task is required'] }
});
2)如果验证失败,则记录不会被保存。
app.post('/tasks', function(req, res){
var task = new Task(req.body.task);
task.save(function (err) {
if (!err) {
req.flash('info', 'Task created');
res.redirect('/tasks');
}
else {
req.flash('warning', err);
res.redirect('/tasks/new');
}
});
});
new.jade:
h1 New task view
-if(typeof flash != 'undefined')
include ../mixins/flash-messages
mixin flash-messages(flash)
form(method='post', action='/tasks')
fieldset
legend Add a task
div.clearfix
label Task
div.input
input(name='task[task]', class='xlarge')
div.actions
input(type='submit', value='Save', class='btn primary')
button(type='reset', class='btn') Cancel