В LiveValidation, как установить failMessaage в обратном вызове Ajax? - PullRequest
0 голосов
/ 17 февраля 2012

Привет, я пытаюсь проверить поле с помощью Ajax Call с использованием библиотеки jQuery LiveValidation.При вызове Ajax я на самом деле проверяю две вещи, и неудачная проверка любой из них возвращает два разных сообщения.Теперь мой Qn - это то, как я могу установить это failMessage с сообщением, которое возвращается с сервера.Идентификатор JS-кода ниже:

var mymsg = "";
function check_avail(id, postUrl,callback)
{

    var dataVal = id+'='+$("#"+id).val();

    var isaccepted = ''
    $('#'+id).next('span').remove();
    $("#check-"+id).show();
    $.ajax({
        url: postUrl,
        cache: false,
        type: 'post',
        dataType: 'json',
        data: dataVal,
        async:  false,
        success: function(data) {
            $("#check-"+id).hide();
            if( data.success === 'true' )
            {
                isaccepted = true;
            }

            if( data.success === 'false' )
            {

                isaccepted = false;
                callback(data.message);

            }

        }
    });


    if (isaccepted === false) {
        $('.grid_16').find('input, textarea, button, select').attr('disabled','disabled');
        $('#subs_mob_no').removeAttr('disabled');


        return false;   
    } else{
        $('.grid_16').find('input, textarea, button, select').removeAttr('disabled');
        return true
    };
}
mob_no.add(Validate.Custom, { against: function(value, args) { return check_avail(subs_mob_no', '<?php echo site_url('recycledsafman/ajax_check_avilable'); ?>',function(msg){ 
            mymsg = msg;
        }); 
    },failureMessage:this.mymsg} );

Кто-нибудь может подсказать, как мне это сделать?!

1 Ответ

0 голосов
/ 17 февраля 2012

Попробуйте это:

var mymsg = "";
function check_avail(id, postUrl,callback)
{

    var dataVal = id+'='+$("#"+id).val();

    var isaccepted = ''
    $('#'+id).next('span').remove();
    $("#check-"+id).show();
    $.ajax({
        url: postUrl,
        cache: false,
        type: 'post',
        dataType: 'json',
        data: dataVal,
        async:  false,
        success: function(data) {
            $("#check-"+id).hide();
            if( data.success === 'true' )
            {
                isaccepted = true;
            }

            if( data.success === 'false' )
            {
                isaccepted = false;
                callback(data.message);
            }

            if (isaccepted === false) {
                $('.grid_16').find('input, textarea, button, select').attr('disabled','disabled');
                $('#subs_mob_no').removeAttr('disabled');


                return false;   
            } else {
                $('.grid_16').find('input, textarea, button, select').removeAttr('disabled');
                return true
            }
        }
    });
}
mob_no.add(Validate.Custom, { against: function(value, args) { return check_avail(subs_mob_no', '<?php echo site_url('recycledsafman/ajax_check_avilable'); ?>',function(msg){ mymsg = msg; }); },failureMessage:this.mymsg} );
...