Tạo các điều khiển kiểm tra tính hợp lệ theo ý mình.

Một phần của tài liệu Tài liệu Sử dụng các điều khiển Validation pdf (Trang 25 - 29)

Trong phần này bạn sẽ học tạo các điều khiển tuỳ biến như thế nào. Chúng ta sẽ tạo điều khiển. đầu tiên sẽ tạo một điều khiển kiểm tra độ dài của một trường nhập liệu trên Form LengthValidator, Bạn tạo mới một Control Kiểm tra tính hợp lệ bằng cách dẫn xuât từ lớp BaseValidator. Lớp BaseValidator là lớp cơ sở cho tất cả các điều khiển Validation, bao gồm RequiredFieldValidator và RegularExpressionValidator

phương thức đơn.

• EvaluateIsValid: Trả về giá trị True khi trường kiểm tra tính hợp lệ

trên Form là hợp lệ.

• GetControlValidationValue: Cho phép bạn điền giá trị của điều

khiển sẽ được kiểm tra tính hợp lệ.

Khi bạn tạo một điều khiển kiểm tra tính hợp lệ tuỳ biến, bạn override phương thức EvaluateIsValid() và trong phương thức này bạn gọi GetControlValidationValue để lấy giá trị của trường cần kiểm tra tính hợp lệ.

Tạo một Điều khiển LengthValidator.

Trong phần này bạn sẽ được học cách tạo một điều khiển đơn giản để kiểm tra độ dài của trường nhập liệu.

Dưới đây mà mã nguồn của lớp LengthValidator.cs

Code 10 LenghtValidator.cs using System; using System.Web.UI; using System.Web.UI.WebControls; namespace myControls {

public class LengthValidator : BaseValidator

{

public int MaximumLength {

get { return _maximumLength; } set { _maximumLength = value; } }

protected override bool EvaluateIsValid() {

String value =

this.GetControlValidationValue(this.ControlToValidate); if (value.Length > _maximumLength) return false; else return true; } } }

Trong Lớp đoạn mã trên ta thấy LengthValidator được kế thừa từ lớp BaseValidator, trong lớp mới này ghi đề phương thức EvaluateIsValid. Giá trị của điều khiển được kiểm chứng được lấy về với phương thức GetControlValidationValue Và độ dài của giá trị sẽ được so sánh với thuộc tính MaximumLength.

Đế sử dụng điều khiển LenghtValidator chúng ta phải đăng ký điều khiển này ở đầu trang với thẻ chỉ dẫn <%@ Register %>. nếu bạn muốn sử dụng LengthValidator cho nhiều trang bạn có thể đăng ký điều khiển này ở phần <Page> trong file Web configuration.

Ví dụ sử dụng LengthValidator

Code 11

<%@ Page Language="C#" AutoEventWireup="true"

CodeFile="LengthValidator.aspx.cs" Inherits="LengthValidator"

%>

<%@ Register TagPrefix="validator" Namespace="myControls" %>

<!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>Use LenghtValidator</title> </head>

<body>

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

<div>

<asp:Label ID="Label1" runat="server" Text="Ghi

chú"></asp:Label>

<br />

<asp:TextBox ID="txtghichu" runat="server"

Height="67px" TextMode="MultiLine"

Width="176px"></asp:TextBox>

<validator:LengthValidator ID="validatorLength"

ControlToValidate="txtghichu" runat="server" ErrorMessage="Phải

MaximumLength="20"></validator:LengthValidator>

<br />

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

Width="85px" />

</div>

</form>

</body> </html>

Chỉ dẫn <%@ Register %>, Với tiền tố TagPrefix=”Validator” và Chỉ đến Namespace=”MyControls” và sủ dụng điều khiển này giống với các điều khiển Validator khác.

Một phần của tài liệu Tài liệu Sử dụng các điều khiển Validation pdf (Trang 25 - 29)

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

(29 trang)
w