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。如果满足条件,说明密码验证通过,就返回原始的数据对象;否则,说明密码不正确,就弹出提示框并返回一个空对象。这样,在表单验证时,如果返回的数据为空对象,则表示密码验证不通过。

猜你喜欢

转载自blog.csdn.net/hexianfan/article/details/132404970