今天,在model.lua中写了一个函数 validate。用于在模型中对模型相关的表单上传的数据进行验证。目前支持6种验证条件:
- required。即表明此字段是必须要有内容,且内容不能为空;
- min。表明此字段需要填数字,且数字不能小于min;
- max。表明此字段需要填数字,且数字不能大于min;
- min_length。表明此字段需要填字符串,且字符串长度不能小于min_length;
- max_length。表明此字段需要填字符串,且字符串长度不能大于max_length;
- pattern。表明此字段需要填字符串,且字符串中不能包含此模式中指定字符以外的字符。pattern是一个lua正则表达式;
使用的时候,要在模型域描述表中这样写,比如:
__fields = {
......
['content'] = {required=true, min_length=15, max_length=314 }, -- 消息的内容
......
};
然后,在程序中,一般这样来使用:
local params = Form:parse(req)
local ret, err_desc = Comment:validate(params)
if not ret then web:jsonError(102, err_desc) end
即,
- 先解析出表单参数来;
- 将这些参数传递给Comment:validate()进行验证,如果验证不通过,会返回个false,以及一个错误的描述;
- 根据返回参数给浏览器发送json信息;
初步测试通过。
之前听过杂多什莫java的验证框架,感觉啥的什莫都是浮云,吓唬人的东西。
--
唐 刚 -- Tang Gang
成都勒格科技有限责任公司 / Legerobot Technology, Co.,Ltd.
网址:
http://www.legerobot.com/地址:中国 四川 成都市科华北路91号川大创业园302室 邮编:610041
电话:
+86 028 85408252 手机:
+86 015281020829E-mail:
t...@legerobot.com QQ: 624910278
Gtalk:
daoga...@gmail.com MSN:
daoga...@hotmail.com