Javascript 如何在Sails.js中将Json验证消息转换为字符串消息?
我正在尝试在sails.js中实现自定义验证。我设法得到了错误消息,但它是Json格式的。我想把它换成 我的型号Javascript 如何在Sails.js中将Json验证消息转换为字符串消息?,javascript,sails.js,Javascript,Sails.js,我正在尝试在sails.js中实现自定义验证。我设法得到了错误消息,但它是Json格式的。我想把它换成 我的型号 module.exports = { attributes: { username: { type: 'string', required: true }, email: { type: 'string', required:
module.exports = {
attributes: {
username: {
type: 'string',
required: true
},
email: {
type: 'string',
required: true,
unique: true
}
},
//model validation messages definitions
validation_messages: { //hand for i18n & l10n
email: {
required: 'Email is required',
unique: 'Email address is already taken'
},
username: {
required: 'Username is required'
}
}
};
我的控制器:
create:function(req,res){
console.log('create');
console.log(req.param('username'));
console.log(req.param('email'));
var Username=req.param('username');
var Email=req.param('email');
//console.log(Username);
//console.log(Username);
var params=req.params.all();
console.log(params);
Employee.create(params).exec(function(err,model){
if(err){
if (err.ValidationError) {
errors = HandleValidation.transformValidation(Employee, err.ValidationError);
console.log(errors);
res.json({
success:false,
errors: errors
})
};
}
if(model)
{
res.json(model);
}
});
}
Js:
如果我提交空表单,则显示如下错误消息:
{ username: '', email: '' }
{ email: [ { required: 'Email is required' } ],
username: [ { required: 'Username is required' } ] }
我想要这样的输出:
Email is required
Username is required
请帮忙。任何帮助都将不胜感激
数据是一个对象。反复浏览以获得所需内容
基于字符串化JSON对象的外观:
var errors = data.errors
var errorsString = ""
for(var field in errors) {
if(errors.hasOwnProperty(field)) {
for (var i = 0; i < errors[field].length; i++) {
error = errors[field][i]
for (var errorType in error) {
errorsString += error[errorType] + "\n"
}
}
}
}
alert(errorsString)
var errors=data.errors
var errorsString=“”
for(错误中的var字段){
if(errors.hasOwnProperty(字段)){
对于(变量i=0;i 数据是一个对象。反复浏览以获得所需内容
基于字符串化JSON对象的外观:
var errors = data.errors
var errorsString = ""
for(var field in errors) {
if(errors.hasOwnProperty(field)) {
for (var i = 0; i < errors[field].length; i++) {
error = errors[field][i]
for (var errorType in error) {
errorsString += error[errorType] + "\n"
}
}
}
}
alert(errorsString)
var errors=data.errors
var errorsString=“”
for(错误中的var字段){
if(errors.hasOwnProperty(字段)){
对于(变量i=0;i
您可以使用var obj=JSON.parse(obj)
解析对象,然后稍后可以像obj.email
一样访问消息。我尝试了您的解决方案,JSON.parse不起作用……但数据如您所说是作为对象来的。请帮助您可以使用var obj=JSON.parse(obj)
解析对象,然后稍后可以访问类似obj.email
的消息。我尝试了您的解决方案JSON.parse不起作用…但数据如您所说是作为对象来的。请帮助我尝试了此代码此代码通过字符串跟踪,但输出为单个字符,如:“请帮助什么?输出是什么?能否在成功回调中向我显示alert(data)
或console.log(data)
的输出?alert(data)的输出:[Object Object]outofconsole.log(data):Object:{errors:Object}在我的示例的第一行,尝试var errors=data.errors
我尝试了这段代码这段代码跟踪字符串,但输出是单个字符,如:“请帮助什么?输出是什么?您可以在成功回调中向我显示alert(data)
或console.log(data)
的输出吗?alert(data)的输出:[Object Object]输出console.log(data):Object:{errors:Object}在我的示例的第一行,尝试var errors=data.errors