TOC

This article is currently in the process of being translated into Vietnamese (~98% done).

Validation:

Validation - CustomValidator

Nếu không validator nào hữu ích cho bạn, thì bạn có thể dùng CustomValidator. Validator đó không được định nghĩa mà bạn phải viết code. Như vậy rất hữu ích do khả năng mở rộng. Trường hợp hay dùng đó là khi bạn tìm kiếm và so sánh trong cơ sở dữ liệu để xem liệu giá trị có đúng không. Vì bài giảng này không đề cập tới việc truy nhập vào cơ sở dữ liệu nên chúng ta sẽ xem xét ví dụ đơn giản nhưng hy vọng rằng bạn sẽ thấy bạn có thể làm nhiều thứ trong CustomValidator. Control cho phép bạn kiểm soát cả phía client và phía server. Tât nhiên, kiểm soát phần server cần postback để kiểm tra nhưng trong hầu hết trường hợp đó không phải là vấn đề.

Trong ví dụ này, chúng ta chỉ kiểm tra chiều dài của chuội nhập vào TextBox. Đây là điều rất bình thường và là một ví dụ có ý nghĩa trong việc cho các bạn hiểu về CustomValidator.

Custom text:<br />
<asp:TextBox runat="server" id="txtCustom" />
<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtCustom" onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8 characters long!" />
<br /><br />

Như bạn thấy, nó rất đơn giản. Phần thuộc tính không biết là sự kiện onservervalidate. Dùng để chỉ tới phương thức trong CodeBehind xử lý validation. Đi tới CodeBehind và thêm vào phương thức sau:

protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e)
{
    if(e.Value.Length == 8)
        e.IsValid = true;
    else
        e.IsValid = false;
}

Điều này rất đơn giản. Về cơ bản validator làm việc bằng cách thiết lập e.IsValid bằng true hay false. Tại dây chúng ta kiểm tra e.Value là string của control đã được validate. Nếu nó chính xác là 8, ta trả về true, nếu không thì là false.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!