如果以下条件不匹配并且我的表格不应提交,如何放置条件



我已经在我的表格上提出了条件,即一个大写字母一个小和 8 个字符,如果标准与我的表格不匹配,就不应该提交,但在这里我的表格被提交,即使这个标准不匹配,并向我展示了成功信息。 我不知道问题出在哪里。

我的 js/ajax 代码:

$('#password_change_form').submit(function(e) {
e.preventDefault();
var saveThis = $(this);
$.ajax({
type: "POST",
url: "/changepassword",
data: $(saveThis).serialize(),
success: function(data) {
$(".success-messages").text("Heslo bylo úspěšně změněno").fadeIn();
setTimeout(function(){
$(".success-messages").fadeOut('slow');
},4000);
$('#password_change_form').trigger("reset");

},
error: function (data) {
$(".error-messages").text("Zadali jste špatné heslo").fadeIn();
setTimeout(function(){
$(".error-messages").fadeOut('slow');
},4000);
$('#password_change_form').trigger("reset");
}
});
}),

和我的表单上的验证规则:

var FormValidation = function () {
var e = function () {
var e = $("#password_change_form"),r = $(".alert-danger", e), i = $(".alert-success", e);
e.validate({
errorElement: "span",
errorClass: "help-block help-block-error",
focusInvalid: !1,
ignore: ":hidden",
rules: {
new_password: { required: !0,password_validate:!0 },
password_confirmation: {
equalTo: "#new_password"
}
},
messages: {
new_password:{ required: "Zapomněli jste zadat nové heslo."},
password_confirmation:{ equalTo: "Hesla nesouhlasí."}
},
invalidHandler: function (e, t) {
i.hide(), r.show()
},
errorPlacement: function (e, r) {
r.is(":checkbox") ? e.insertAfter(r.closest(".md-checkbox-list,.checkbox-label, .md-checkbox-inline, .checkbox-list, .checkbox-inline"),r.closest(".checkbox").addClass("has-error")) : r.is(":radio") ? e.insertAfter(r.closest(".md-radio-list, .md-radio-inline, .radio-list,.radio-inline")) : e.insertAfter(r)
},
highlight: function (e) {
$('.help-block').html('');$(e).closest(".form-group").addClass("has-error")
},
unhighlight: function (e) {
$(e).closest(".form-group").removeClass("has-error")
},
success: function (e) {
e.closest(".form-group").removeClass("has-error")
}
})
};
return {
init: function () {
e();
}
}
}();
$(document).ready(function () {
FormValidation.init();
$.validator.addMethod("password_validate",function(value,element){
return this.optional(element) || /^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/i.test(value);
},"Nové heslo musí obsahovat minimálnÄ› 8 znaků, jedno velké a malé písmeno a Äíslo. Prosím zkontrolujte, že vámi zadané heslo splňuje tyto podmínky.");
});

我不知道问题在哪里,如果标准不匹配,我的表格不应该提交,但在这里提交表格。

伙计们在这里真的需要你的帮助。

我建议对你的表单使用Laravel验证。 https://laravel.com/docs/5.7/validation

这可能也很有用:Laravel密码验证规则

最新更新