codice:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="convalidare checkbox.aspx.vb" Inherits="CorsoApogeo_wrox_comandi_server_e_convalida_convalidare_checkbox" %>
<!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>Pagina senza titolo</title>
<link href="../../../stili/Styles.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
<!--
function selezionare_checkbox(source, arguments)
{
arguments.IsValid = document.getElementById("CheckBox1").checked;
}
//-->
</script>
</head>
<body>
<h3>Convalida checkbox</h3>
<form id="form1" runat="server">
<asp:CheckBox ID="CheckBox2" runat="server" Text="Abilita javascript per il controllo di validità" Checked="true" AutoPostBack="true" />
<asp:CheckBox ID="CheckBox1" runat="server"></asp:CheckBox>
<asp:Button ID="Button1" runat="server" Text="Button"></asp:Button>
</p>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Per continuare devi selezionare il checkbox" ClientValidationFunction="selezionare_checkbox">Per continuare devi selezionare il checkbox</asp:CustomValidator>
<asp:Label ID="Label1" runat="server" EnableViewState="false"></asp:Label>
</p>
</form>
</body>
</html>
codice:
Option Strict On
Partial Class CorsoApogeo_wrox_comandi_server_e_convalida_convalidare_checkbox
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
End Sub
Private Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
args.IsValid = Me.CheckBox1.Checked
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
'forza la validazione ti tutti i controlli
Me.Validate()
If Not Me.IsValid() Then
Dim ctrl As BaseValidator
Dim errorCount%
For Each ctrl In Me.Validators
If Not ctrl.IsValid Then errorCount += 1
Next
Me.Label1.Text = "CONVALIDA SERVER: ci sono " & (errorCount) & " errori"
End If
End Sub
Protected Sub CheckBox2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
Dim ck As CheckBox = DirectCast(sender, CheckBox)
Me.CustomValidator1.EnableClientScript = ck.Checked
Me.Label1.Text = ""
End Sub
End Class