jfinal中form表单后台数据验证

来源:互联网 发布:怎么搞垮一个淘宝店 编辑:程序博客网 时间:2024/05/22 09:50

①:先定义一个后台验证form表单的类

②:controller中对form表单中数据处理的时候,调用验证类

③:token是我使用了shiro插件,所以配合使用验证类之前,我需要定义shiro的一些功能

public void index() {    this.createToken(TOKEN);    this.render("/WEB-INF/admin/demand/add.html");}
在进入保存页面的时候,我需要创建一个token,然后在add.htnl中接收token

<div class="form-group">    <label class="col-md-3 control-label"><span class="mustWrite">*</span>项目概况</label>    <div class="col-md-9">        <textarea name="project.DESCRIPTION" class="form-control" style="height:200px"                  maxlength="2000"/>        <small class="help-block">请输入项目概况(2000)</small>    </div></div>#(token)<div class="panel-footer">    <div class="row">        <div class="col-sm-9 col-sm-offset-3">            <button class="btn btn-warning" type="reset">重置</button>            <button class="btn btn-mint" type="submit">保存</button>        </div>    </div></div>
④:在form表单体交的时候,token会自动带过去,只有在验证类通过的情况下,token类验证才会执行。

save方法;

function save() {    var data = common_ajax.ajaxFunc("/demand/save", $('#editForm').serialize(), "json", null);    if (data.success) {        pointLion.alertMsg("保存成功!", "success", "small", function () {            doPjax(ctx + "/demand");        });    }else{        $.niftyNoty({            type : 'danger',            message : data,            container : 'floating',            timer : 5000        });    }}
如果验证不通过:



token验证类:

public class TokenValidator extends Validator {   @Override   protected void validate(Controller c) {      validateToken("token", "error", "不要重复提交/页面过期,请刷新");   }   @Override   protected void handleError(Controller c) {      c.renderJson("error", c.getRequest().getAttribute("error"));   }}


原创粉丝点击