Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
RequiredFieldValidator su texbox e checkbox
mercoledì 07 gennaio 2009 - 17.35
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
volperubbia
Profilo
| Senior Member
375
messaggi | Data Invio:
mer 7 gen 2009 - 17:35
Ciao a tutti,
ho un RequiredFieldValidator associato a una Texbox, ma vorrei farlo scattare solo se
una CheckBox viene ceccata. Ad esempio:
<ASP:TextBox ID="txt" runat="server"></ASP:TextBox>
<ASP:RequiredFieldValidator ID="rfv" RUNAT="server" ERRORMESSAGE="*" CONTROLTOVALIDATE="txt"
DISPLAY="Dynamic" ENABLEVIEWSTATE="False"></ASP:RequiredFieldValidator>
<ASP:CheckBox ID="chkTxt" runat="server" />
Potrei usare l'evento server chkTxt_CheckedChanged e rendere la TextBox disabilitata,
in questo modo la validazione non scatta.
Esiste un'altra soluzione più leggera e lato "client"? Magari usando un CustomValidator o un ValidationSummary ...
Grazie, Davide
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 7 gen 2009 - 21:04
>Ciao a tutti,
Ciao!
>Esiste un'altra soluzione più leggera e lato "client"? Magari
>usando un CustomValidator o un ValidationSummary ...
Con il customValidator puoi introdurre le logiche che più ritieni opportune, comprese quelle che controllano gli eventuali campi della tua form. Questo ti evita roundtrip a server, anche se, se la pagina non è pesante, puoi comunque pensare di tornare a server (magari anche con controlli AJAX, vedi UpdatePanel).
Per il CustomValidator leggi qui:
http://aspnet.4guysfromrolla.com/articles/073102-1.aspx
per l'UpdatePanel qui:
http://msdn.microsoft.com/it-it/library/bb386454.aspx
e qui:
http://www.codegod.de/webappcodegod/updatepanel-tutorial-aspnet-ajax-AID281.aspx
>Grazie, Davide
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
volperubbia
Profilo
| Senior Member
375
messaggi | Data Invio:
sab 10 gen 2009 - 12:47
Le sai sempre tutte
... grazie.
Ecco il risultato finale:
<ASP:TEXTBOX ID="txtProva" RUNAT="server"></ASP:TEXTBOX>
<ASP:CHECKBOX ID="chkProva" RUNAT="server" />
<ASP:CUSTOMVALIDATOR ID="cvProva" RUNAT="server" ERRORMESSAGE="*"
DISPLAY="Dynamic" ENABLEVIEWSTATE="False" CLIENTVALIDATIONFUNCTION="ClientValidate">
</ASP:CUSTOMVALIDATOR>
<script language="javascript">
<!--
function ClientValidate(source, arguments)
{
var chk = document.getElementById('<%=Me.chkProva.ClientID%>') ;
var txt = document.getElementById('<%=Me.txtProva.ClientID%>') ;
if (chk == null || txt == null)
arguments.IsValid = true ;
else {
arguments.IsValid = (chk.checked == false) || ((chk.checked == true) && ('' != txt.value.replace(/\s+$|^\s+/g,''))) ;
}
}
// -->
</script>
Ciao!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 12 gen 2009 - 00:16
>Le sai sempre tutte
... grazie.
magari, quindi funziona, mi sembra di aver capito..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !