工具类要一个配置文件,这个配置文件是放在exporess根目录下的某个目录,代码里面怎么设置这个根路径?
9 回复
是这样的,现在大部分表单验证都是写是代码里的,我想独立出来做成json配置文件 就象前台验证的配置一样, 每个Action里面这样写
if(validate('json配置文件名'){
var data=validate.getValidParam();
model.add(data)
}else {
var errmsg=validate.getErrorMsg();
req.flash('errmsg', errmsg)
}
配置文件是按表单名字统一放在一个地方,如果form表单多个地方引用,还可以复用 如果用mongodb的话,加了字段就不用改代码了 这个模块要读json配置文件的话,代码怎么取得express的根路径呢?
感觉在代码里直接require一个object更简单,省了很多引号
var formvaliderule=require('./form/adduser');
if(validate(formvaliderule){
var data=validate.getValidParam();
model.add(data)
}else {
var errmsg=validate.getErrorMsg();
req.flash('errmsg', errmsg)
}
```
var errors=[]
exports.check=function(param,schema,cb){
...
}
exports.getError=function(){
return errors;
}
这样写只能验证一次可以,第二次调用的话就乱, error变成全局的了, 如果写成
exports.check=function(param,schema,cb){
var errors=[];
}
外面怎么调用getError()
后台验证出错的时候,需要表单回填 比如原来post的值是 {username:"xxx",price:100,count:3} 提交以后count 验证错误 返回到前端 有三种数据格式 1 两个json,原来提交的值+出错信息
原来提交的值{title:"xxx",price:100,count:3}
提示信息 {count:"已售堥"}
2
{name:"title",
value:"xxx",
},
{name:"price",
value:100,
},
{name:"count",
value:3,
error:"已售堥"
},
3
{
title:{
value:"xxx",
},
price:{
value:100,
},
count:{
value:3
error:'已售堥'
}
}
然后前端接受特定格式的数据,解析,自动回填和显示错误提示,那种格式更适合?