validate自定义校验

JS

<script>
    $("#form-user-resetPwd").validate({
        rules:{
            oldPassword:{
                required:true,
                remote: {
                    url: ctx + "system/user/profile/checkPassword",
                    type: "get",
                    dataType: "json",
                    data: {
                        password: function() {
                            return $("input[name='oldPassword']").val();
                        }
                    }
                }
            },
            newPassword: {
                required: true,
                minlength: 6,
                isPwd: true
            },
            confirmPassword: {
                required: true,
                equalTo: "#newPassword"
            }
        },
        messages: {
            oldPassword: {
                required: "请输入原密码",
                remote: "原密码错误"
            }
        },
        focusCleanup: true
    });
</script>

返回值判断

您可以通过在remote对象中添加dataFilter属性来对返回的数据进行处理和判断。dataFilter属性是一个函数,它会在数据返回之后被调用。您可以在这个函数中对返回的数据进行处理,并返回一个新的数据对象。

例如,如果您想要判断返回的数据是否为合法的密码,可以这样做:

remote: {
    url: ctx + "system/user/profile/checkPassword",
    type: "get",
    dataType: "json",
    data: {
        password: function() {
            return $("input[name='oldPassword']").val();
        }
    },
    dataFilter: function(data, type) {
        if (type === "json" && data && data.code === 200) { // 假设返回的数据格式为 {code: 200, message: "success"}
            return data; // 返回原始数据对象
        } else {
            // 处理错误情况
            alert("密码不正确,请重新输入!");
            return null; // 返回空对象
        }
    }
}

在上面的例子中,dataFilter函数首先判断返回的数据类型是否为JSON,以及返回的数据是否包含code属性且值为200。如果满足条件,说明密码验证通过,就返回原始的数据对象;否则,说明密码不正确,就弹出提示框并返回一个空对象。这样,在表单验证时,如果返回的数据为空对象,则表示密码验证不通过。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值