0

i am using knockout validation plugin and i am not getting how can i verify that validation is true or false

ko.validation.rules['remote'] = {
        async: true,
        validator: function ( val, parms, callback ) { 
            var defaults = {
                url: '/ajax/auth',
                type: 'POST',
                success: callback
            };

            var options = $.extend( defaults, parms );

            $.ajax( options );
        },
        message: 'Default Invalid Message'
    };

var username = ko.observable().extend({ remote : { data: {email : username} }});

// setting it will trigger validation
username.isValidating.subscribe(function(isValid){
     if(isValid){
         // save the username or whatever you do
     }else{
         // invalid 
     }


// ajax.php

function isValidEmail(){
        $data = $this->input->get_post();
        return is_valid_email($data['email']);
};

i am always getting invalid please explain how this work

Sparky
  • 98,165
  • 25
  • 199
  • 285
Anil Gupta
  • 2,329
  • 4
  • 24
  • 30

1 Answers1

1

You should call given callback on ajax-response with true or false indicating validation success.

    validator: function ( val, parms, callback ) { 
        var defaults = {
            url: '/ajax/auth',
            type: 'POST',
            success: callback
        };

        var options = $.extend( defaults, parms );

        $.ajax(options, function(data){
            // data format depends on your implementation
            // just for example:
            if (data.result == 'ok') {
                callback(true);
            } else {
                callback(false);
            }
        });
    },
Rango
  • 3,877
  • 2
  • 22
  • 32