私のパスワード変更機能では、検証のためにjqueryバリデータを使用し、サブミットハンドラで古いパスワードをチェックするためにajaxコールを使用します。古いパスワードを確認するためjqueryのカスタムルール(addMethod)でAJAXを試しました。私は空のパスワードのために "Incorrect password"と "This field is required"というメッセージを同時に表示します。次に、私は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;
}
});
});
古いパスワードをチェックするための私のコードは、あたりはコメント
public function checkPassword(Request $request) {
$strPassword = $request->password;
$intSessionUserId=Session::get('sessionUserId');
$user = register::find($intSessionUserId);
$strOldPassword = $user->password1;
if($strPassword==$strOldPassword) {
echo "1";
} else {
echo "0";
}
}
でコードを述べたように、私はあなたが暗号化されたパスワードを使用してプレーンなパスワードを比較することができると思います
$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