0
在我更改密碼功能,使用jQuery驗證程序進行驗證和Ajax調用檢查舊密碼提交處理程序。我已經嘗試過的jQuery AJAX的自定義規則(addMethod)檢查舊password.It了我同時輸入「不正確的密碼」和「此字段爲必填」消息爲空密碼。然後,我嘗試使用下面的提交處理程序中的Ajax調用,現在它正確應用驗證,但未檢查Ajax中的舊密碼。Ajax調用在提交處理
var postUrl = "{{ URL::to('frontend/checkpassword') }}";
$(document).ready(function() {
$('#passwordForm').validate({
rules: {
password: {
required: true,
password1: {
required: true,
minlength: 8
},
password2: {
required: true,
equalTo: '#password1'
},
},
messages: {
password: {
required: "Please enter Old Password",
},
password1: {
required: "Please enter a password",
minlength: "Your password must be at least 8 characters long"
},
password2: {
required: "Please enter a password",
equalTo: "The two passwords do not match!"
},
},
},
submitHandler: function(form) {
$.ajax({
type: "POST",
url: postUrl,
data: $("#passwordForm").serialize(),
async: true,
beforeSend: function() {
$("#loading-image").show();
},
success: function(response) {
if (response == 0) {
$("#loading-image").hide();
$('#display').html("Incorrect Password");
$('#password1, #password2 ').prop('disabled', true);
} else {
$("#loading-image").hide();
$('#display').html("Correct Password");
$('#password1,#password2').removeAttr('disabled');
}
}
});
return false;
}
});
});
我檢查舊密碼代碼
$strPassword = $request->password;
$intSessionUserId=Session::get('sessionUserId');
$user = register::find($intSessionUserId);
$strOldPassword = $user->password1;
if($strPassword==$strOldPassword) {
echo "1";
}
else {
echo "0";
}
什麼是服務器端代碼校驗密碼功能? –
postUrl應該是:var postUrl ='frontend/checkpassword'; –
_「嗯,你期望它做什麼?你想完成什麼?你已經嘗試過了什麼?**這些嘗試中發生了什麼?請詳細說明:特別是,如果某些東西不起作用,請不要只是聲明:告訴我們它是如何失敗的,如果拋出異常,什麼是異常?(不要只給出類型 - 給出錯誤信息並說出哪一行拋出它。如果存在嵌套異常, 。)**「_(引自: [寫作完美的問題(https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)) – Andreas