Как поставить условие, если следующие критерии не соответствуют и моя форма не должна быть отправлена - PullRequest
0 голосов
/ 08 октября 2018

Я добавил в свою форму условие, что одна прописная, одна маленькая и 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.");
    });

Я не знаю, где находитсяпроблема, которую моя форма не должна представлять, если критерии не соответствуют, но здесь она отправляет форму.

Ребята действительно нуждаются в вашей помощи здесь.

1 Ответ

0 голосов
/ 08 октября 2018

Я предлагаю использовать проверку Laravel для вашей формы.https://laravel.com/docs/5.7/validation

Это также может быть полезно: Правило проверки пароля Laravel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...