ygr*_*nin 7 sails.js waterline
当电子邮件验证规则在sails.js的模块上失败时,服务器崩溃了.这是我模块的片段://用户的电子邮件地址
email: {
type: 'string',
email: true,
required: true,
unique: true
},
Run Code Online (Sandbox Code Playgroud)
错误如下:
错误:错误(E_VALIDATION):: 1属性在WLValidationError.WLError无效(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\waterline\lib\waterline\error\WLError.js:26: 15)在C:\ Users\yuri\AppData的新WLValidationError(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\waterline\lib\waterline\error\WLValidationError.js:20:28) \漫游\npm \node_modules\sails \node_modules\waterline\lib\waterline\query\validate.js:45:43 at allValidationsChecked(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\waterline\lib\waterline\core\validations.js:203:5)at C(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:135:19)at C :\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:32:16 at C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\waterline\lib\waterline\core\validations.js:184:23 at done(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\asy nc\lib\async.js:135:19)在C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:32:16 at C:\ Users\yuri位于C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:125:13位于_each的Array.forEach(native)(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:46:24)在验证时的Object.async.each(C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:124:9)处(C:\ Users\yuri\AppData \漫游\npm \node_modules\sails \node_modules\waterline\lib\waterline\core\validations.js:156:11)在C:\ Users\yuri\AppData\Roaming \npm \node_modules\sails \node_modules\async\lib\async.js:125:13发送给用户的无效属性:•电子邮件•
undefined应该是电子邮件(而不是"admin @ gmailasd",这是一个字符串)
声明电子邮件字段的正确方法如下:
email: {
type: 'email',
required: true,//Email field will be required for insert or update
unique: true //Insert or update will crash if you try to insert duplicate email
},
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到所有不同的属性类型http://sailsjs.org/documentation/concepts/models-and-orm/attributes
如果要捕获插入/更新错误,可以在控制器上执行此操作:
MyModel.create({email:email}).exec(function(err, model)
{
if(err)
{
//Check if it's a validation error or a crash
if(err.code == "E_VALIDATION")
sails.log.debug("valid fail, check form");
else
sails.log.debug("crash");
}
else
{
//do what you want to do with the data
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |