jQuery пішінін тексеру растауды жалғастыра алмайды

Мен істеп жатқан нәрсе - бұл өте қарапайым. Мен жай ғана негізгі форманы алғым келеді, бірақ егер ол жарамсыз болса да, сол жерде тұрып, өріс жарамды болып көрінсе де жарамды болады.

Мысалы, e-mail мекен-жайы үшін [email protected] деп жазсам, ол тексереді, ол оны жарамды деп белгілейді. Бірақ егер барамын және ол бар электрондық поштаны қойсам, жалған (және) қайтару керек болса, мәртебе өзгермейді. Бұл тең әдіске тең қолданылады.

Бұл шынымен нашар: /

Міне JS [қысқартылған атаулар]:

$('#register').validate({
    rules: {
        scq: {
            required: true
        },
        email: {
            required: true,
            remote: {
                url: 'ajax.php',
                type: 'post',
                async: false,
                data: {
                    type: 'email',
                    email: function() {
                        return $('#email').val()
                    }
                }
            }
        },
        email2: {
            equalTo: '#email'
        },
        pass: {
            required: true
        },
        pass2: {
            equalTo: '#pass'
        }
    },
    success: function(label) {
        label.html(' ').addClass('success');
    }
});

Ajax.php үшін PHP:

if($row['id']) $success = true;
else $success = false;

echo json_encode($success);
0

1 жауаптар

... егер барамын және бар электрондық поштаға салып, қайтып оралсам   жалған (және істейді) күйі өзгермейді.

Өйткені сіз success: өңдегішінің ішіндегі .success деп аталатын сыныпты қолмен қосасыз. Мәселе мынада, егер бұл сынақ кейінірек сәтсіз болса, ештеңе жойылмайды.

Сіз тек табысқа жету үшін тиісті классты автоматты түрде қолдану/жою »модулін жібере аласыз. (Бұл қате сыныбы үшін жасалды.) validClass: өңдегішті қосыңыз ...

$('#register').validate({
    validClass: 'success',
    rules: {//etc. etc.

Содан кейін .addClass ('success') success: өңдегішінен жойыңыз.


Мен сіздің $ success айнымалыңыздың қайда орналасқанын немесе бұл мәселенің бір бөлігі болып табылатынын толық сенімді емеспін.

Дегенмен

тексеруді қарапайым немесе сәтсіз аяқтағанын тексеру үшін .valid() дұрыс немесе жалған ...

if ($('#register').valid() == true) { alert('passed validation'); };

if ($('#register').valid() == false) { alert('failed validation'); };

Бұл көмектеседі деп үміттенемін.

1
қосылды
Бұл btw жұмыс істеді, мен сіздердің түсініктемелеріңізді көрмей тұрып, оны түсіндім. Оны көтеру болашақта адамдар оны көре алады!
қосылды автор Talasan Nicholson, көзі