Bootstrap+BootstrapValidator+Mybatis实现通用单字段验证V1(待改进)

来源:互联网 发布:淘宝打折软件在哪里 编辑:程序博客网 时间:2024/06/04 21:15

1.通用JS函数

/** * 使用bootstrapvalidator时的工具类,与后台配合,实现单字段的验证。<br> *  * @author 陈振阳 * @date 2016.08.21 */function bvValidateField(dom) {    var form = $(dom).parents("form")    var field = $(dom).attr('name');    $(form).bootstrapValidator();    var bv = $(form).data("bootstrapValidator")    // var bool = bv.validateField(field)    // var bool2 = bv.isValid();    // console.log(bool);    // console.log(bool2);}

2.前端的使用方法

<div class="form-group">                            <label for="telphone">您的手机<span class="text-danger">*</span></label> <input type="text" name="mob_tel_" data-bv-trigger="blur" placeholder="请输入您的手机号" class="form-control"                                required data-bv-notempty data-bv-notempty-message="请填写用户的手机号码" data-bv-regexp data-bv-regexp-message="请输入正确的手机号码" pattern="^[1][3,4,5,8][0-9]{9}$" data-bv-remote="true"                                data-bv-remote-url="${ctx }/web/utility/isExist.jhtml?table=shop_user&field=mob_tel_" data-bv-remote-message="手机号已经存在" onblur="bvValidateField(this)" onkeydown="bvValidateField(this)">                        </div>

3.controller接口

/**     * 判断某个表的某个字段等于某个值的记录是否存在,主要是给前端的单字段验证用的。<br>     * inverse代表是否翻转,如果inverse是false的话,存在时返回valid为false,不存在时返回valid返回ture,用户注册这样的场景。<br>     * 如果inverse是true的话,存在时valid返回false,不存在时valid返回true。用户数据选择这样的场景<br>     *      * @param request     *            [table,field,value,inverse]     * @param response     * @param session     * @return     */    @RequestMapping(value = "isExist")    public void isExist(HttpServletRequest request, HttpServletResponse response, HttpSession session) {        Dto inDto = Dtos.newDto(request);        String table = inDto.getString("table");        String field = inDto.getString("field");        String value = inDto.getString(field);        Boolean inverse = inDto.getBoolean("inverse");        inDto.put("value", value);        if(AOSUtils.isEmpty(inverse)){//默认是false,注册场景            inverse = false;        }        Dto resultDto = sysDao.selectDto("Utility.isExist", inDto);        Integer count_= resultDto.getInteger("count_");        Dto outDto = Dtos.newOutDto();        if (!inverse) {//注册场景,没有记录返回true            if(count_>0){                outDto.put("valid", false);             }else{                outDto.put("valid", true);            }        } else {//数据选择场景,有记录返回true            if(count_>0){                outDto.put("valid", true);              }else{                outDto.put("valid", false);            }        }        WebCxt.write(response, AOSJson.toJson(outDto));    }

4.通用动态SQL语句

<!-- 判断某个表的某个字段等于某个值的记录是否存在,主要是给前端的单字段验证用的。 -->    <!-- author:陈振阳 -->    <!-- date:2016.08.21 -->    <select id="isExist" parameterType="Dto" resultType="Dto"        statementType="STATEMENT">        select count(*) as count_ from ${table} where ${field} =        '${value}'    </select>
0 0
原创粉丝点击