ho la forma con la seguente configurazione di convalida:Prova a impostare messaggio di convalida personalizzato con jQuery Remote
$('#form').validate({
onfocusout: false,
onkeyup: false,
onclick: false,
success: function(){
$('#username').addClass('input-validation-confirmation');
}
});
$('#username').rules("add", {
onfocusout: false,
onkeyup: false,
required: true,
email: true,
remote: {
url: function,
type: 'GET',
dataType: 'json',
traditional: true,
data: {
username: function() {
return $('#username').val();
}
},
dataFilter: function (responseString) {
var response = jQuery.parseJSON(responseString);
currentMessage = response.Message;
if (response.State == 0) {
currentMessage = currentMessage + 0;
return false;
}
return 'true';
},
beforeSend: function (response) {
showLoadingIndicator($('#username'));
},
complete: function() {
hideLoadingIndicator($('#username'));
}
}
});
Ciò sta tentando di fare è usare gli stessi elementi di validazione (per lavorare con qualche altro quadro) per mostrare sia errori che metodi di successo.
Il mio problema è che il metodo di successo della mia regola viene attivato PRIMA che la convalida remota sia stata completata. Ho provato a impostare il messaggio in diversi modi, ma il parametro dei messaggi personalizzati non sembra essere chiamato in caso di successo della convalida.
Qualcuno conosce altri metodi per utilizzare il campo di errore di convalida per entrambi i messaggi di errore e di successo quando si utilizza un mix di regole di convalida sia remote che di pattern?
Edit:
ora capisco che mi aspettavo un evento di successo al momento sbagliato. Ho bisogno di un evento che viene attivato una volta completata la convalida (non inviata). C'è qualche evento del genere?
Presumo che si sta utilizzando http://jqueryvalidation.org/?Se è così, sembra che il [metodo remoto] (http://jqueryvalidation.org/remote-method) sia basato sul campo, e dovrebbe essere un figlio del campo che sta per attivare un controllo remoto. . . – ernie