为bamboo添加了模型对上传表单的验证功能

1 view
Skip to first unread message

唐刚

unread,
Apr 28, 2011, 4:02:19 AM4/28/11
to bamb...@googlegroups.com
今天,在model.lua中写了一个函数 validate。用于在模型中对模型相关的表单上传的数据进行验证。目前支持6种验证条件:
  1. required。即表明此字段是必须要有内容,且内容不能为空;
  2. min。表明此字段需要填数字,且数字不能小于min;
  3. max。表明此字段需要填数字,且数字不能大于min;
  4. min_length。表明此字段需要填字符串,且字符串长度不能小于min_length;
  5. max_length。表明此字段需要填字符串,且字符串长度不能大于max_length;
  6. 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
即,
  1. 先解析出表单参数来;
  2. 将这些参数传递给Comment:validate()进行验证,如果验证不通过,会返回个false,以及一个错误的描述;
  3. 根据返回参数给浏览器发送json信息;
初步测试通过。


之前听过杂多什莫java的验证框架,感觉啥的什莫都是浮云,吓唬人的东西。

--
唐 刚 -- Tang Gang
成都勒格科技有限责任公司 / Legerobot Technology, Co.,Ltd.
网址:http://www.legerobot.com/
地址:中国 四川 成都市科华北路91号川大创业园302室   邮编:610041
电话: +86 028 85408252               手机: +86 015281020829
E-mail: t...@legerobot.com             QQ: 624910278
Gtalk: daoga...@gmail.com         MSN: daoga...@hotmail.com

Reply all
Reply to author
Forward
0 new messages