2015-03-04 3 views
0

Im пытаясь проверить имя пользователя и пароль, чтобы не быть пустым, если есть запрос пост сделал так, что нет Empy строк, но я получаюПолучение ошибки валидатора в Sequelize.js

Express server listening on port 5000 

/Users/ra/Desktop/Jos/node_modules/sequelize/lib/dao-validator.js:216 
     throw new Error("Invalid validator function: " + validatorType) 
      ^
Error: Invalid validator function: allowNull 

Херес модель работодатель

'use strict'; 

var Sequelize = require('sequelize'); 

module.exports = function (sequelize) { 
    var Employer = sequelize.define("employer", { 
     username: { type: Sequelize.STRING, validate: { allowNull: false } }, 
     password: { type: Sequelize.STRING, validate: { allowNull: false } } 
    }); 
    return { 
     Employer: Employer 
    }; 
}; 

ответ

6

allowNull должны быть в настройках поля, а не в валидатор: вар Sequelize = требуется ('sequelize');

'use strict'; 

var Sequelize = require('sequelize'); 

module.exports = function (sequelize) { 
    var Employer = sequelize.define("employer", { 
     username: { type: Sequelize.STRING, allowNull: false }, 
     password: { type: Sequelize.STRING, allowNull: false } 
    }); 
    return { 
     Employer: Employer 
    }; 
}; 

См doc here и comment of source code here

Перед Sequelize 2.0 вы можете использовать notNull валидатор, но он был удален в версии 2.0 (см 2.0 changes here)

+0

Я закончил с использованием "NotNull: правда" как валидатор и он корректно выдаёт ошибку. Проблема в том, что он проверяет ошибки в базе данных, чтобы сервер ломался при ошибке. Чтобы обойти это, я создал простой условный оператор на маршрутизаторе, чтобы проверить, было ли req.body.username && req.body.password! = Null – rahul2001

+0

@ rahul2001 'notNull' validator был отменен до версии 2.0 и был удален в' 2.0' , См. Здесь https://github.com/sequelize/sequelize/wiki/Upgrading-to-2.0 – alexpods

+0

Ой, не знал, что ... спасибо. Итак, как обработка ошибок будет работать с db/model, если валидатор не используется с allowNull? Если ошибка возникает, мой сервер прерывается. Документы не говорят об обработке ошибок. – rahul2001

Смежные вопросы