鼠标离开判断输入的编号是否已经存在

前言

不管什么项目,只要在添加的时候,有些东西是不能重复的,所以就少不了输完之后去库里查找是否有相同的数据存在,目前我能想到的判读库里是否有相同数据有两种方案。第一种:点击添加按钮,如果有相同的则提示“该数据已存在请重新编辑”,然后清空你所填的,否则添加成功。第二种:填完数据,鼠标离开点击任意地方,如果有相同数据,同样提示“该数据已存在请重新编辑”,这两种方法,我倾向于第二种,因为第一种是每次点击确定才提示,很麻烦,下面小编就来给大家分享一下第二种方案的实现。

JS
    function checkDuplicate(value){
        var bool = true;
        if(!isNull(value)){
            $.GAjax({
                url : Param.context + "oaPersonYfmanage/checkyyxId",
                type : "POST",
                async:false,
                dataType : "JSON",
                data:{
                    "id":$("#id").val(),
                    "assetId":value,
                },
                success : function(data) {
                    if(!data){//验证不通过
                        bool = false;
                    }else{
                        $("#yyxId").val($("#yyx_id").val());//yyxId是输入的内容,yyx_id跟实体中的字段相对应
                        bool = true;
                    }
                }
            });
        }else{
            bool =  true;
        }
        return bool;
    }

    //添加自定义验证
    jQuery.validator.addMethod("isCkeckDuplicate",function(value, element){
        var tmp = checkDuplicate(value);
        if(tmp){
            return true
        }else{
            return false;
        }
    },"该编号已存在,请重新编辑!");
});
controller
     /**
     * 判断是否有相同的编号
     * @return
     */
    @RequestMapping(value = "/checkyyxId")
    @ResponseBody
    public boolean checkTitle(@RequestParam(value = "id", required = false) String id,
                              @RequestParam(value = "yyxId", required = true) String yyxId,                          
                              HttpServletRequest request){
        boolean require=false;

        yyxId = StringUtils.transactSQLInjection(yyxId);

        String sql = "select yyx_id from oa_person_yfmanage where 1=1 and id='"+id+"'";
        List list = this.commonDao.getEntityManager().createNativeQuery(sql).getResultList();
        if(!EmptyUtil.isEmpty(list)){
            if(list.size()>1){
                require=false;
            }else if(list.size()==1&&!EmptyUtil.isEmpty(id)&&id.equals(list.get(0))){
                require = true;
            }
        }else{
            require = true;
        }
        return require;
    }

jsp就不分享了,只需要写一句获取焦点就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值