0

ノックアウト検証プラグインを使用していますが、検証が真または偽であることを確認する方法がわかりません

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']);
};

私はいつも無効になっていますこれがどのように機能するか説明してください

4

1 に答える 1

1

検証の成功を示すまたは示すcallbackajax-response でgiven を呼び出す必要があります。truefalse

    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);
            }
        });
    },
于 2013-03-01T12:49:27.743 に答える