la validazione RSV della funzione di Benjamin Keen non funziona correttamente?

Sto provando lo script di convalida RSV di benjamin keens (versione jquery), ma con una sua funzione non funziona. la mia funzione personalizzata restituisce false ma il gestore incompleto è ancora chiamato ??

$("#testForm").RSV({ onCompleteHandler: myOnComplete, displayType: "alert-one", rules: [ "required,first_name,Please enter your first name.", "required,last_name,Please enter your last name.", "required,email,Please enter your email address.", "valid_email,email,Please enter a valid email address.", "function,testfunct", ] }); function testFunc() { tmpName = $('#tmpName').val(); if (tmpName != '') { //alert ("name has been set"); return true; } else { alert ("Credit card empt"); $('#tmpName').focus(); return false; } }` 

La tua funzione personalizzata non è corretta. Si prevede di restituire:

  • vero quando è passata la validazione.
  • un array (ma non “false”) quando la convalida non è riuscita.

maggiori dettagli si prega di fare riferimento al suo documento ufficiale , quindi fare clic sulla voce: “Regole di convalida personalizzate”

Affinché la tua funzione interagisca correttamente con lo script RSV, la tua funzione deve avere un valore di ritorno ben definito. Vale a dire:

Se il campo supera qualunque test o test amministrati, deve restituire esplicitamente true. Se fallisce il test (s), deve restituire una matrice di matrici, in questo modo:

  return [[node1, "error message1"], [node2, "error message2"], [node3, "error message3"]]; 

O se la tua funzione sta lanciando un singolo errore:

  return [[node, "error message"]]; 

Notare il doppio [[e]]. Questo non è un errore di battitura!