为什么sails.js的真实电子邮件地址验证失败

时间:2015-09-01 04:22:25

标签: node.js rest sails.js

我使用sails.js的最新版本编程我的代码:0.11.0 我的日期模块是:

module.exports = {

  attributes: {
firstName: {
  type: 'string',
  required: true
},

lastName: {
  type: 'string',
  required: true
},
email:{
  type:"string",
  required: true,
  email:true,
  unique:true
},
address:{
  type:"string"
},
telephone:{
  type:"string"
},
password:{
  type:"string"
}
}
};

我的config / blueprint.js是:

module.exports.blueprints = {
     action:true,
     rest: true,
     prefix: '/api/v1',
};

当我想请求get方法字符串时:

 http://localhost:1337/api/v1/user/create?firstName="Michell"&lastName="Loo"&email=take@gmail.com&telephone="0468889799"

API /控制器/ Usercontroller.js

module.exports = {
register: function(req, res){
    res.view();

}

create: function(req, res){
    res.view();
}
};

我收到错误的回复:

{
"error": "E_VALIDATION",
"status": 400,
"summary": "1 attribute is invalid",
"model": "User",
"invalidAttributes": {
"email": [
  {
    "rule": "email",
    "message": "\"email\" validation rule failed for input: 'take@gmail.com'"
  }
 ]
}

}

我认为电子邮件地址是正确的,并根据我的请求案例进行了验证。

我不知道sails.js会发生什么。

1 个答案:

答案 0 :(得分:1)

将您的定义更改为以下内容:

email: {
  type: 'email',
  required: true,
  unique: true
}