Files
JMuseum/public/js/change_password_page.js
2018-02-26 14:09:18 +08:00

67 lines
2.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var vldPassword = /(^[0-9a-zA-Z_?!@#+-]{5,16}$)/;
var txtOldPassword = $("#txtOldPassword");
var txtNewPassword = $("#txtNewPassword");
var txtConfirmNewPassword = $("#txtConfirmNewPassword");
var divAlert = $("#divAlert");
$("#btnSubmit").on("click", btnSubmit_Click);
function btnSubmit_Click(e) {
e.preventDefault();
let resultOldPassword = vldPassword.test(txtOldPassword.val());
let resultNewPassword = vldPassword.test(txtNewPassword.val());
let resultConfirmNewPassword = vldPassword.test(txtConfirmNewPassword.val());
setInputState( [txtOldPassword, txtNewPassword, txtConfirmNewPassword],
[resultOldPassword, resultNewPassword, resultConfirmNewPassword]);
switch (false) {
case resultOldPassword:
setAlert( txtOldPassword.val().length == 0 ? "舊密碼欄位為必要欄位,請輸入您目前在使用的密碼。" : "請在舊密碼欄位中輸入5~16字間並符合的密碼格式: 數字、英文字母或 _?!@#+- 字元。" );
break;
case resultNewPassword:
setAlert( txtNewPassword.val().length == 0 ? "新密碼欄位為必要欄位,請輸入您目前在使用的密碼。" : "請在新密碼欄位中輸入5~16字間並符合的密碼格式: 數字、英文字母或 _?!@#+- 字元。" );
break;
case resultConfirmNewPassword:
if ( txtConfirmNewPassword.val().length == 0 ) {
setAlert("確認新密碼欄位為必要欄位,請輸入您目前在使用的密碼。");
}
else if ( txtNewPassword.val() != txtConfirmNewPassword.val()) {
setAlert("請在確認新密碼欄位中輸入與新密碼欄位一樣的密碼。");
}
break;
default:
setAlert();
}
return;
//Success, send data to server
$.ajax({
url : "/userChangeANewPW",
type : "POST",
data : {
oldPassword : txtOldPassword.val(),
newPassword : txtNewPassword.val(),
conNewPassword : txtConfirmNewPassword.val()
},
success : (respone) => {
//Check success or not.
}
});
}
function setInputState(elements, results) {
for (var i = 0; i < elements.length; i++) {
if (results[i] && elements[i].hasClass("has-error")) {
elements[i].removeClass("has-error");
}
else if (!results[i] && !elements[i].hasClass("has-error")) {
elements[i].addClass("has-error");
}
}
}
function setAlert(message) {
divAlert.children().remove();
if (message) {
divAlert.append("<div class='alert alert-danger mt-20'>" + message + "</div>");
}
}