2012-09-26 16 views
7

Según lo siguiente, ¿cómo configuro la devolución de llamada para mostrar un mensaje de error personalizado en lugar del mensaje predeterminado?Plugin de validación Knockout Mensaje de error personalizado

ko.validation.rules['exampleAsync'] = { 
    async: true, // the flag that says "Hey I'm Async!" 
    validator: function (val, otherVal, callBack) { // yes, you get a 'callback' 

     /* some logic here */ 

     // hand my result back to the callback 
     callback(/* true or false */); 
     // or if you want to specify a specific message 
     callback(/* { isValid: true, message: "Lorem Ipsum" } */); 
    }, 
    message: 'My default invalid message' 
}; 

Respuesta

5
ko.validation.rules['exampleAsync'] = { 
    async: true, 
    validator: function (val, otherVal, callBack) { 

     // make an ajax call or something here to do your async validation 
     $.ajax({ type: 'post', url: 'some url', data: val, success: function (data) { 
      if (data.success) { 
       callback({ isValid: true, message: "yay it worked"}); 
      } else { 
       callback({ isValid: false, message: data.message }); 
      } 
     }); 
    }, 
    message: 'My default invalid message' 
}; 
+0

cuándo será la función 'ko.validation.rules [ 'exampleAsync']' llama – SrinivasNaidu

+0

@SrinivasNaidu No es una función. Ahora, se llamará a la función 'validator' al cambiar el observable al que se adjuntó la validación mediante' extender'. – ZenMaster

Cuestiones relacionadas