Dato un controllo col suo validatore, per esempio un CustomValidator, vorrei forzare la validazione da javascript.
Mi dareste una mano?![]()
![]()
Dato un controllo col suo validatore, per esempio un CustomValidator, vorrei forzare la validazione da javascript.
Mi dareste una mano?![]()
![]()
Pietro
ecco un esempio :
Supponi di avere una textbox dove l'utente deve scrivere una stringa. Il tuo custom validator deve verificare che l'utente scriva qualsiasi cosa tranne la stringa "ciao".
allora, per prima cosa devi fare una funzione generica che verifica se la stringa che gli viene passata è ciao, quindi hai questa
<script language="Javascript" type="text/javascript">
function controlla_country(sender, args)
{
var cod=args.Value;
var strDaConfrontare = "ciao";
//alert(cod);
if (cod==strDaConfrontare)
args.IsValid = false;
else args.IsValid = true;
}
</script>
dopo devi andare nel custom validator e impostare la proprietà CutomValidationFuction a controlla_nome che è il nome della funzione javascript definita sopra. Imposta la proprietà ControlToValidate al ID del textbox da validare e poi ovviamente il messaggio da far vedere in caso di errore.
ecco l'esempio completo:
codice:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="butta._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> <script language="Javascript" type="text/javascript"> function controlla_nome(sender, args) { var cod=args.Value; var strDaConfrontare = "ciao"; //alert(cod); if (cod==strDaConfrontare) args.IsValid = false; else args.IsValid = true; } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="controlla_nome" ControlToValidate="TextBox1" ErrorMessage="Hai scritto ciao" SetFocusOnError="True"></asp:CustomValidator> </div> </form> </body> </html>
I got the remedy
Ciao, ti ringrazio della risposta puntuale![]()
Purtroppo non mi sono spiegato bene. Ci provo adesso. :master:
Supponi di avere un CustomValidator che valida un TextBox.
Il framework associa certamente all'evento onchange del TextBox un richiamo ad un metodo per la validazione. Per esempio, TextBox1.onchange = funzioneDiValidazione;
Adesso, da un punto qualunque del codice client, volevo simulare l'onchange de textbox.
Credo di poterlo fare richiamando funzioneDiValidazione() o in qualche altro modo che non conosco.
Non so se mi sono spiegato. Ciao.![]()
Pietro
Credo di essere riuscito con:
ValidatorValidate($('cuv_f2'));
cuv_f2 è l'id del validatore
![]()
Pietro
si, penso che sia quella, ma a cosa ti serve "chiamare il validatore"?
![]()
I got the remedy
Ho due TextBox con due CustomValidator. L'evento change di un TextBox valida solo il suo validatore, non entrambi. Perciò nell'evento onchange dei TextBox forzo la validazione dell'altro. Ciao.![]()
Pietro
di solito per questo scopo si utilizza la porprietà validationgroup!
er esempio hai 2 textbox con due validatori e un bottone. Si assegna lo stesso gruppo ai 2 validatori e al bottone. Quando si clicca sul bottone si validano entrambi...
ecco un esempio
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"
ValidationGroup="aa"></asp:RequiredFieldValidator>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="TextBox2" ErrorMessage="RequiredFieldValidator"
ValidationGroup="aa"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="aa" />
I got the remedy