Cách sử dụng và Ví dụ

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 50 - 52)

CustomValidator có 3 thuộc tính hay sử dụng là:

 ControlToValidator: điểu khiển của Form sẽ được kiểm tra

 Text(ErrorMessage): hiển thị nội dung thông báo lỗi kho có lỗi

 ClientValidationFunction: tên của một hàm client-side để thực hiện kiểm tra trên client- side

CustomValidator hỗ trợ 1 sự kiện

 ServerValidate: Sự kiện được đưa ra khi CustomValidator thực hiện kiểm chứng.

Ví dụ sau sẽ sử dụng sự kiện ServerValidate để kiểm tra độ dài của chuỗi được nhập trong điều khiển TextBox, nếu người nhập, nhập vào chuỗi có độ dài lớn hơn 20 ký tự thì điều khiển CustomValidator sẽ đưa ra thông báo lỗi.

Ví dụ:

Code 6 trang CustomValidator.aspx <%@ Page Language="C#" %>

<script runat="server">

void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs e) { if (e.Value.Length > 20) e.IsValid = false; else e.IsValid = true; } </script>

<!DOCTYPE htmlPUBLIC"-//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>CustomValidator</title> </head>

<body>

<form id="form1"runat="server">

<div>

<asp:Label ID="Label1"runat="server" Text="Ghi chú"></asp:Label>

<br />

<asp:TextBox ID="TextBox1"runat="server"Height="95px"TextMode="MultiLine" Width="218px"></asp:TextBox>

<asp:CustomValidator ID="CustomValidator1"runat="server" ErrorMessage="Độ dài ghi chú phải nhỏ hơn 20 ký tự" ControlToValidate="TextBox1"

OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>

<br />

<asp:Button ID="Button1"runat="server"Text="Accept"/>

</div>

</form> </body> </html>

Ở ví dụ 6 trong hàm “CustomValidator1_ServerValidate” Tham số thứ 2 được truyền tới sự kiện ServerValidator để xử lý. Trong thực thể của lớp ServerValidateEventArgs có hai thuộc tính

 Value: Giá trị của trường trên Form sẽ được kiểm chứng.

 IsValid: Diễn tả việc kiểm chứng cho kết quả thành công hoặc sai.

Trong ví dụ tiếp theo tôi sẽ đưa ra cách sử dụng hàm kiểm chứng Client-side kết hợp với CustomValidator như thế nào, Trang này chỉ kiểm tra độ dài của chuỗi nhập vào bên trong TextBox, nhưng nó sẽ kiểm tra trên cả Server và Client.

Code 7.

<%@ Page Language="C#" %>

<script runat="server">

void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs e) { if (e.Value.Length > 20) e.IsValid = false; else e.IsValid = true; } </script>

<!DOCTYPE htmlPUBLIC"-//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>CustomValidator</title>

<script language="javascript" type="text/javascript">

function valComments_ClientValidate(source, args) { if (args.Value.length > 20) args.IsValid = false; else args.IsValid = true; }

</script> </head> <body>

<form id="form1"runat="server">

<div>

<asp:Label ID="Label1"runat="server"Text="Ghi chú"></asp:Label>

<br />

<asp:TextBox ID="TextBox1"runat="server"Height="95px"TextMode="MultiLine" Width="218px"></asp:TextBox>

<asp:CustomValidator ID="CustomValidator1"runat="server" ErrorMessage="Độ dài ghi chú phải nhỏ hơn 20 ký tự"

ClientValidationFunction="valComments_ClientValidate" ControlToValidate="TextBox1"

OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>

<br />

<asp:Button ID="Button1"runat="server" Text="Accept"/>

</div>

</form> </body> </html>

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 50 - 52)

Tải bản đầy đủ (PDF)

(183 trang)