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