jquery验证角色名称是否重复

  由于新增和修改都使用的同一个方法,而且修改时,默认的角色名不能提示“角色名已存在”,所以需要得到修改时,它原来的角色名和修改后的角色名,得到原来的角色名用了很久,最后的方法是:在jsp页面中,添加一行隐藏的,用来保存原来的角色名,然后在弹窗的时候,给它赋值。

jsp页面添加一行隐藏:

     <tr>
                    <td align="right"><label for="roleName" class="isNotNull">角色名称:</label></td>
                    <td align="left"><input type="text" id="roleName" name="roleName" />
                                     <input type="hidden" id="oldRoleName" name="oldRoleName"/>
                    </td>
                </tr>


给弹窗中赋值:


 function toEditRole() {
    var rowData = fnGetSelectedRowData(oTable);//得到选中的待修改的整行的数据
    $("#editRole #roleName").val(rowData.roleName);
    $("#editRole #oldRoleName").val(rowData.roleName);

}


验证方法:

  //验证角色名是否重复
jQuery.validator.addMethod("checkRoleNameRepetition", function(value,element){
    var resourceNo = '';
    var oldRoleName = $("#editRole #oldRoleName").val();//原来的默认角色名
    if(oldRoleName){//如果默认角色名存在,说明是修改操作(新增时默认角色名为null)
        if(oldRoleName==value){//如果默认角色名和修改后的一样,说明没有修改,直接返回true,即不需要验证
            return true;
        }
        resourceNo = $("#editRole #resourceNo").val();//修改操作,得到修改框中的resourceNo
    }else{
        resourceNo = $("#createRole #resourceNo").val();//如果默认角色名不存在,说明是新增操作,则得到新增框中用户输入的resourceNo

        if(resourceNo==''){//如果resourceNo(公司资源号)为空,说明没有输入公司名称,则不继续验证

              return true;

        }
    }
    return checkRepetition(Root+"/model/role/findRoleByRoleName.do",{"roleName":value,"resourceNo":resourceNo});
});



至此,验证功能实现!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值