CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 261

261

Chương 7: ASP.NET và Web Form

hợp lệ của trang hoặc phương thức

BaseValidator.Validate

để xác nhận tính

hợp lệ của từng điều kiểm riêng rẽ.

Điều kiểm validator của ASP.NET là giải pháp lý tưởng để xác nhận tính hợp lệ của form một
cách nhanh chóng. Với điều kiểm validator, bạn có thể xác nhận tính hợp lệ của toàn bộ trang
cùng một lúc. Nếu muốn xác nhận tính hợp lệ chỉ một phần form, hoặc muốn quyết định xem
có cần xác định tính hợp lệ một điều kiểm nào đó hay không (dựa trên giá trị của một điều
kiểm khác chẳng hạn), bạn sẽ cần thực hiện thao tác xác nhận tính hợp lệ có-chọn-lựa.
Bước đầu tiên trong thao tác này là vô hiệu thuộc tính

EnableClientScript

của mọi điều kiểm

validator trên trang. Nếu không, việc kiểm tra sẽ được thực hiện tại client thông qua
JavaScript, trang sẽ không được post-back nếu nó chứa các giá trị không hợp lệ, và phần mã
thụ lý sự kiện sẽ không được thực thi. Một khi đã thực hiện thay đổi này, bạn có thể xác nhận
tính hợp lệ từng điều kiểm một bằng phương thức

BaseValidator.Validate

, hoặc xác nhận

tính hợp lệ toàn bộ trang bằng phương thức

Page.Validate

.

Ví dụ dưới đây thực hiện kiểm tra phía server với hai validator:

RangeValidator

RegularExpressionValidator

(xác nhận tính hợp lệ một địa chỉ e-mail). Nếu kiểm tra thất bại,

đoạn mã này sẽ duyệt qua tập hợp các validator trên form bằng thuộc tính

Page.Validators

.

Mỗi khi tìm thấy một validator có lỗi, nó sẽ tìm điều kiểm tương ứng bằng phương thức

Page.FindControl

rồi hiển thị giá trị lỗi.

using System;

using System.Web;

using System.Web.UI.WebControls;

public class SelectiveValidation : System.Web.UI.Page {

protected System.Web.UI.WebControls.TextBox txtNumber;

protected System.Web.UI.WebControls.TextBox txtEmail;

protected System.Web.UI.WebControls.Label lblCustomSummary;

protected System.Web.UI.WebControls.RegularExpressionValidator

validatorEmail;

protected System.Web.UI.WebControls.RangeValidator validatorNumber;

protected System.Web.UI.WebControls.Button cmdValidate;

// (Bỏ qua phần mã designer.)

private void cmdValidate_Click(object sender, System.EventArgs e) {

// Xác nhận tính hợp lệ của trang.

this.Validate();

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.