Giao Diện Trang Regularexpressionvalidatorex .aspx

Bảng mô tả các ký hiệu thường sử dụng trong Validation Expression


Ký hiệu

Mô tả

A

Ký tự chữ cái (đã được xác định). Ở đây là chữ a

1

Ký tự số (đã được xác định). Ở đây là số 1

[0-n]

Một ký tự số từ 0 đến 9

[abc]

Một ký tự: hoặc a hoặc b hoặc c

|

Lựa chọn mẫu này hoặc mẫu khác

w

Ký tự thay thế phải là một ký tự chữ cái

d

Ký tự thay thế phải là một ký tự số

Thể hiện các ký tự đặc biệt theo sau.

.

Ký tự thay thế phải là dấu chấm câu (.)

?

Qui định số lần xuất hiện: 0 hoặc 1 lần

*

Qui định số lần xuất hiện: 0 hoặc nhiều lần

+

Qui định số lần xuất hiện: 1 hoặc nhiều lần (ít nhất là 1)

{n}

Qui định số lần xuất hiện: đúng n lần

Có thể bạn quan tâm!

Xem toàn bộ 285 trang tài liệu này.

Ví dụ: Tạo trang RegularExpressionValidatorEx.aspx sử dụng điều khiển kiểm tra RegularExpressionValidator quy định dữ liệu nhập cho khung nhập ZipCode là số và phải là 5 chữ số.

<head runat="Server">

<title>RegularExpressionValidator Example</title>

<script runat="Server">

void ValidateBtn_Click(Object sender, EventArgs e)

{

if (Page.IsValid){

lblOutput.Text = "Page is Valid.";

}

else{

lblOutput.Text = "Page is InValid.";

}

}

</script>

</head>

<body>

<Form id="Form1" runat="Server">

<div>

<h3>RegularExpressionValidator Example</h3>

<table style="background-color:#eeeeee; padding:10">

<tr valign="top"> <td colspan="3">

<asp:Label ID="lblOutput" Text="Enter a 5-digit ZIP Code" runat="Server" AssociatedControlID="TextBox1"/></td></tr>

<tr> <td colspan="3"> <b>Personal InFormation</b> </td></tr></td>

<td><asp:TextBox id="TextBox1"runat="Server"/></td>

<td><asp:RegularExpressionValidator id="RegularExpressionValidator1" ControlToValidate="TextBox1" ValidationExpression="d{5}" Display="Static" ErrorMessage="ZIP code must be 5 numeric digits" EnableClientScript="False" runat="Server"/></td> </tr>

<tr><td></td> <td><asp:Button ID="Button1" text="Validate" OnClick="ValidateBtn_Click" runat="Server" /></td><td></td> </tr>

</table>

</div>

</Form>

</body>

Giao diện trang RegularExpressionValidatorEx.aspx :

Hình 3 46 Giao diện trang RegularExpressionValidatorEx aspx Khi click nút Validate phương 1

Hình 3.46. Giao diện trang RegularExpressionValidatorEx.aspx

Khi click nút Validate, phương thức đáp ứng sự kiện click ValidateBtn_Click có nội dung như sau:

void ValidateBtn_Click(Object sender, EventArgs e)

{

if (Page.IsValid) {

lblOutput.Text = "Page is Valid.";

}

else {

lblOutput.Text = "Page is InValid.";

}

}

Dùng thuộc tính Page.IsValid để kiểm tra dữ liệu nhập trên Form nhập có hợp lệ hay không. Kết quả thực thi cho hai trường hợp dữ liệu nhập không hợp lệ và hợp lệ:

Hình 3 47 Kết quả thực thi RegularExpressionValidator Điều khiển CustomValidator 2

Hình 3.47. Kết quả thực thi RegularExpressionValidator

- Điều khiển CustomValidator

Nếu những điều khiển Validator trên chưa đủ hoặc muốn tạo một Validator riêng theo ý có thể dụng điều khiển CustomValidator kết hợp CustomValidator với một hàm.

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ợ sự kiện:

- ServerValidate: Sự kiện được đưa ra khi CustomValidator thực hiện kiểm chứng. Ví dụ: Tạo trang CustomValidatorEx.aspx có sử dụng điều khiển kiểm tra dữ liệu nhập trong khung nhập phải là số chẵn, có nội dung dưới đây :

<head runat="Server">

<title>CustomValidator ServerValidate Example</title>

<script runat="Server">

void ValidateBtn_OnClick(object sender, EventArgs e)

{

if (Page.IsValid) {

Message.Text = "Page is valid.";

}

else {

Message.Text = "Page is not valid!";

}

}

void ServerValidation(object source, ServerValidateEventArgs args)

{

try {

// Test whether the value entered into the text box is even. int i = int.Parse(args.Value);

args.IsValid = ((i%2) == 0);

}

catch(Exception ex) { args.IsValid = false;

}

}

</script>

</head>

<body>

<Form id="Form1" runat="Server">

<div>

<h3>CustomValidator ServerValidate Example</h3>

<asp:Label id="Message" Text="Enter an even number:" Font-Names="Verdana" Font-Size="10pt" runat="Server" AssociatedControlID="Text1"/> <br />

<asp:TextBox id="Text1" runat="Server" />

<asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ErrorMessage="Not an even number!" ForeColor="green"

Font-Names="verdana" Font-Size="10pt" OnServerValidate="ServerValidation"

<br />

<asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="Server"/>

</div>

</Form>

</body>

Giao diện thiết kế trang CustomValidatorEx.aspx như hình sau:

Hình 3 48 Giao diện trang CustomValidatorEx aspx Kết quả thực thi sau khi nhập giá 3

Hình 3.48. Giao diện trang CustomValidatorEx.aspx

Kết quả thực thi sau khi nhập giá trị trong khung nhập và click nút Validate, cho hai trường hợp dữ liệu nhập không hợp lệ và hợp lệ.

Hình 3 49 Kết quả thực thi CustomValidator Điều khiển ValidationSummary Điều 4

Hình 3.49. Kết quả thực thi CustomValidator

- Điều khiển ValidationSummary: Điều khiển ValidationSummary cho phép liệt kê tất cả các các lỗi kiểm tra trên trang từ những điều khiển validator vào một vị trí.

Đưa điều khiển ValidationSummary vào Form và thiết lập một số thuộc tính sau:

- DisplayMode: Cho phép chỉ rò định dạng hiển thị lỗi, nó có thể là các giá trị như BulletList, List và SingleParagraph.

- HeaderText: Cho phép hiển thị tiêu đề tóm tắt cho các lỗi.

- ShowMessageBox: Qui định bảng thông báo lỗi có được phép hiển thị như cửa sổ

- MessageBox. Giá trị mặc định của thuộc tính này là False - không hiển thị.

Hình 3 50 Thông báo lỗi xuất hiện qua cửa sổ MessageBox ShowSummary Qui định 5

Hình 3.50. Thông báo lỗi xuất hiện qua cửa sổ MessageBox

- ShowSummary: Qui định bảng thông báo lỗi có được phép hiển thị hay không. Giá trị mặc định của thuộc tính này là True - được phép hiển thị.

Hình 3 51 Thông báo lỗi hiển thị trực tiếp trên trang Web Ví dụ Tạo trang 6

Hình 3.51. Thông báo lỗi hiển thị trực tiếp trên trang Web

Ví dụ: Tạo trang ValidationSummaryEx.aspx có sử dụng một số điều khiển kiểm tra dữ liệu trên trang, trong đó có điều khiển ValidationSummary để liệt kê tất cả các lỗi kiểm tra trên trang từ những điều khiển kiểm chứng vào một vị trí (cell <td>) thích hợp.

<head runat="Server">

<title>ValidationSummary Sample</title>

</head>

<body>

<h3>ValidationSummary Sample</h3> <br />

<Form id="Form1" runat="Server">

<div>

<table cellpadding="10">

<tr><td><table style="background-color:#eeeeee; padding:10"><tr>

<td colspan="3"><b>Credit Card InFormation</b> </td></tr>

<tr><td align="right">Card Type: </td>

<td><asp:RadioButtonList id="RadioButtonList1" RepeatLayout="Flow" runat="Server">

<asp:ListItem>MasterCard</asp:ListItem>

<asp:ListItem>Visa</asp:ListItem>

</asp:RadioButtonList>

</td>

<td align="center" rowspan="1">

<asp:RequiredFieldValidator id="RequiredFieldValidator1" ControlToValidate="RadioButtonList1" ErrorMessage="Card Type. "

InitialValue="" Width="100%" runat="Server">

</asp:RequiredFieldValidator> </td></tr>

<tr><td align="right">Card Number:</td> <td>

<asp:TextBox id="TextBox1" runat="Server" /></td>

<td><asp:RequiredFieldValidator id="RequiredFieldValidator2" ControlToValidate="TextBox1" ErrorMessage="Card Number. " Display="Static" Width="100%" runat="Server">

</asp:RequiredFieldValidator></td></tr>

<tr><td></td> <td> <asp:Button id="Button1" text="Validate" runat="Server" />

</td> <td></td></tr></table>

</td> <td valign="top">

<table cellpadding="20">

<tr> <td> <asp:ValidationSummary id="valSum" DisplayMode="BulletList" runat="Server" HeaderText="You must enter a value in the following fields:" Font- Names="verdana" Font-Size="12"/></td></tr>

</table></td> </tr>

</table>

</div>

</Form>

</body>

Hình 3 52 Giao diện trang ValidationSummary aspx Hình 3 53 Kết quả thực thi 7

Hình 3.52. Giao diện trang ValidationSummary.aspx

Hình 3 53 Kết quả thực thi CustomValidator 3 2 Tạo và sử dụng Custom Control 3 2 1 8

Hình 3.53. Kết quả thực thi CustomValidator

3.2. Tạo và sử dụng Custom Control

3.2.1. Giới thiệu User Custom Control

Visual studio cung cấp rất nhiều các điều khiển để phát triển ứng dụng gọi là điều khiển nội tại (Instrict Control). Ngoài ra, nó còn cung cấp khả năng tự xây dựng các điều khiển tùy biến nếu các điều khiển hiện hành không đáp ứng được yêu cầu. Ví dụ: Nếu ứng dụng cần chiếc máy tính (Calculator) ở rất nhiều trang thì giải pháp tốt nhất là tạo một điều khiển Calculator riêng thay việc kết hợp các điều khiển truyền thống, khi đó ta có thể sử dụng điều khiển này trong toàn bộ ứng dụng.

Thực chất của User Custom Control (UCC) chính là một "trang con", trong đó có thể chứa bất kỳ nội dung nào (trừ các thẻ <HTML> <BODY>,<FORM>, vì một trang chỉ có duy nhất một lần xuất hiện các thẻ này) . "Trang con" này sau đó có thể được chèn (Include) vào các trang khác để sử dụng. Khi muốn cập nhật nội dung ở tất cả các trang, ta chỉ việc sửa đổi duy nhất UCC ban đầu. Khả năng này của ASP.NET giúp xây dựng ứng dụng nhanh hơn, dễ bảo trì hơn.

Mỗi một UCC được đặt trong một trang có phần mở rộng là *.ascx. File này có đặc điểm là không truy cập trực tiếp từ trình duyệt mà chỉ được chèn vào các trang aspx.

3.2.2. Các bước tạo User Custom Control

Việc thực hiện tạo User custom Control trải qua 3 bước chính như sau:

- Thêm một Web Form vào Project hiện hành

o Vào menu Website, chọn Add new item. Chọn loại Web User Control

o Đặt tên cho Web User Control.

- Soạn nội dung của trang.

- Lưu lại nội dung của trang.

Ví dụ: Tạo một UCC chứa thông tin liên hệ của Trung tâm Hưng Yên Aptech, thông tin này sẽ được dùng làm Footer (chân trang) của tất cả các trang trong hệ thống phần mềm quản lý cán bộ.

Hình 3 54 Kết quả sau khi đưa UCC vào trang Web Ở đây ta cần tạo 2 trang trang 9

Hình 3.54. Kết quả sau khi đưa UCC vào trang Web

Ở đây ta cần tạo 2 trang, trang Footer.ascx chứa nội dung của UCC và trang Default.aspx, để sử dụng UCC Footer.ascx.

Nội dung trang Footer.ascx và Default.aspx như sau:

Footer.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Footer.ascx.cs" Inherits="Footer" %>

<table border="0px" width="100%">

<tr>

<td align="center" style="font-style:italic" runat="Server" id="NoiDung"> <hr /> Phần mềm quản lý cán bộ - phiên bản 2.0 <br />

&copy;Bản quyền hệ thống thuộc về Trung tâm đào tạo Hưng Yên - Aptech 2008

<br />

Tel: 0321-713.179; E-Mail: aptech@utehy.edu.vn; Website:

<asp:LinkButton runat="Server" ID="AptechLink" PostbackUrl="http://aptech.utehy.vn" Text="www.aptech.utehy.vn">

</asp:LinkButton></td></tr>

</table>

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register TagPrefix="Aptech" TagName="Footer" Src="~/Footer.ascx" %>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="Server">

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022