ASP.NET - Validators: Thông tin tổng quan cho newbie
05/05/2022 07:54
ASP.NET Validators xác thực dữ liệu đầu vào của người dùng để đảm bảo rằng dữ liệu vô ích, chưa được xác thực hoặc mâu thuẫn sẽ không được lưu trữ. Cùng tìm hiểu các thông tin tổng quan về ASP.NET Validators ngay dưới đây!
ASP.NET Validators xác thực dữ liệu đầu vào của người dùng để đảm bảo rằng dữ liệu vô ích, chưa được xác thực hoặc mâu thuẫn sẽ không được lưu trữ.
ASP.NET cung cấp các điều khiển xác thực sau:
- RequiredFieldValidator
- RangeValidator
- CompareValidator
- RegularExpressionValidator
- CustomValidator
- ValidationSummary
Lớp BaseValidator
Các lớp điều khiển xác thực được kế thừa từ lớp BaseValidator do đó chúng kế thừa các thuộc tính và phương thức của nó. Do đó, sẽ hữu ích khi xem xét các thuộc tính và phương thức của lớp cơ sở này, những thuộc tính chung cho tất cả các điều khiển xác thực:
Các thành viên |
Sự miêu tả |
ControlToValidate |
Cho biết kiểm soát đầu vào để xác nhận. |
Display |
Cho biết cách hiển thị thông báo lỗi. |
EnableClientScript |
Cho biết có thực hiện xác thực phía máy khách hay không. |
Enabled |
Bật hoặc tắt trình xác thực. |
ErrorMessage |
Chỉ ra chuỗi lỗi. |
Text |
Văn bản lỗi sẽ được hiển thị nếu xác thực không thành công. |
IsValid |
Cho biết giá trị của điều khiển có hợp lệ hay không. |
SetFocusOnError |
Nó cho biết liệu trong trường hợp điều khiển không hợp lệ, tiêu điểm có nên chuyển sang điều khiển đầu vào liên quan hay không. |
ValidationGroup |
Nhóm hợp lý của nhiều trình xác thực, nơi kiểm soát này thuộc về. |
Validate() |
Phương thức này xác thực lại quyền kiểm soát và cập nhật thuộc tính IsValid. |
Kiểm soát RequiredFieldValidator
Điều khiển RequiredFieldValidator đảm bảo rằng trường bắt buộc không trống. Nó thường được gắn với một hộp văn bản để buộc nhập vào hộp văn bản.
Cú pháp của điều khiển như đã cho:
<asp:RequiredFieldValidator ID="rfvcandidate"
runat="server" ControlToValidate ="ddlcandidate"
ErrorMessage="Please choose a candidate"
InitialValue="Please choose a candidate">
</asp:RequiredFieldValidator>
Kiểm soát RangeValidator
Điều khiển RangeValidator xác minh rằng giá trị đầu vào nằm trong một phạm vi xác định trước.
Nó có ba thuộc tính cụ thể:
Tính chất |
Sự miêu tả |
Gõ phím |
Nó xác định kiểu dữ liệu. Các giá trị có sẵn là: Tiền tệ, Ngày, Đôi, Số nguyên và Chuỗi. |
Giá trị tối thiểu |
Nó chỉ định giá trị nhỏ nhất của phạm vi. |
Gia trị lơn nhât |
Nó chỉ định giá trị lớn nhất của phạm vi. |
Cú pháp của điều khiển như đã cho:
<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass"
ErrorMessage="Enter your class (6 - 12)" MaximumValue="12"
MinimumValue="6" Type="Integer">
</asp:RangeValidator>
>>> Đọc thêm: ASP.NET - Server Controls từ A- Z cho những lập trình viên mới
Kiểm soát CompareValidator
Điều khiển CompareValidator so sánh một giá trị trong một điều khiển với một giá trị cố định hoặc một giá trị trong một điều khiển khác.
Nó có các thuộc tính cụ thể sau:
Tính chất |
Sự miêu tả |
Gõ phím |
Nó chỉ định kiểu dữ liệu. |
ControlToCompare |
Nó chỉ định giá trị của điều khiển đầu vào để so sánh với. |
ValueToCompare |
Nó chỉ định giá trị không đổi để so sánh với. |
Nhà điều hành |
Nó chỉ định toán tử so sánh, các giá trị có sẵn là: Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual và DataTypeCheck. |
Cú pháp cơ bản của điều khiển như sau:
<asp:CompareValidator ID="CompareValidator1" runat="server"
ErrorMessage="CompareValidator">
</asp:CompareValidator>
RegularExpressionValidator
RegularExpressionValidator cho phép xác thực văn bản đầu vào bằng cách khớp với một mẫu của biểu thức chính quy. Biểu thức chính quy được đặt trong thuộc tính ValidationExpression.
Bảng sau đây tóm tắt các cấu trúc cú pháp thường được sử dụng cho các biểu thức chính quy:
Nhân vật trốn thoát |
Sự miêu tả |
\ b |
Khớp với một khoảng trắng lùi. |
\ t |
Khớp một tab. |
\ r |
Khớp với một ký tự xuống dòng. |
\ v |
Khớp với một tab dọc. |
\ f |
Đối sánh với một nguồn cấp dữ liệu biểu mẫu. |
\N |
Khớp với một dòng mới. |
\ |
Nhân vật thoát. |
Ngoài đối sánh ký tự đơn lẻ, một lớp ký tự có thể được chỉ định có thể được đối sánh, được gọi là siêu ký tự.
Metacharacters |
Sự miêu tả |
. |
Khớp với bất kỳ ký tự nào ngoại trừ \ n. |
[A B C D] |
Khớp với bất kỳ ký tự nào trong tập hợp. |
[^ abcd] |
Loại trừ bất kỳ ký tự nào trong tập hợp. |
[2-7a-mA-M] |
Khớp với bất kỳ ký tự nào được chỉ định trong phạm vi. |
\ w |
Khớp với bất kỳ ký tự chữ và số và gạch dưới nào. |
\ W |
Khớp với bất kỳ ký tự không phải từ nào. |
\S |
Đối sánh các ký tự khoảng trắng như, dấu cách, tab, dòng mới, v.v. |
\S |
Đối sánh với bất kỳ ký tự không có khoảng trắng nào. |
\ d |
Khớp với bất kỳ ký tự thập phân nào. |
\ D |
Khớp với bất kỳ ký tự không phải số thập phân nào. |
Các bộ định lượng có thể được thêm vào để chỉ định số lần một ký tự có thể xuất hiện.
Bộ định lượng |
Sự miêu tả |
* |
Không có hoặc nhiều trận đấu. |
+ |
Một hoặc nhiều trận đấu. |
? |
Không hoặc một kết quả phù hợp. |
{N} |
N trận đấu. |
{N,} |
N hoặc nhiều trận đấu. |
{N, M} |
Giữa N và M trận đấu. |
Cú pháp của điều khiển như đã cho:
<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
ValidationExpression="string" ValidationGroup="string">
</asp:RegularExpressionValidator>
CustomValidator
Điều khiển CustomValidator cho phép viết các quy trình xác thực tùy chỉnh cụ thể của ứng dụng cho cả xác thực phía máy khách và phía máy chủ.
Việc xác thực phía máy khách được thực hiện thông qua thuộc tính ClientValidationFunction. Quy trình xác thực phía máy khách phải được viết bằng ngôn ngữ kịch bản, chẳng hạn như JavaScript hoặc VBScript, mà trình duyệt có thể hiểu được.
Quy trình xác thực phía máy chủ phải được gọi từ trình xử lý sự kiện ServerValidate của điều khiển. Quy trình xác thực phía máy chủ phải được viết bằng bất kỳ ngôn ngữ .Net nào, như C # hoặc VB.Net.
Cú pháp cơ bản cho điều khiển như đã cho:
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator">
</asp:CustomValidator>
ValidationSummary
Điều khiển ValidationSummary không thực hiện bất kỳ xác thực nào nhưng hiển thị tóm tắt tất cả các lỗi trong trang. Bản tóm tắt hiển thị các giá trị của thuộc tính ErrorMessage của tất cả các điều khiển xác thực không xác thực được.
Hai thuộc tính bao gồm lẫn nhau sau liệt kê ra thông báo lỗi:
- ShowSummary : hiển thị các thông báo lỗi ở định dạng được chỉ định.
- ShowMessageBox : hiển thị các thông báo lỗi trong một cửa sổ riêng biệt.
Cú pháp cho điều khiển như đã cho:
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />
Nhóm xác thực
Các trang phức tạp có các nhóm thông tin khác nhau được cung cấp trong các bảng khác nhau. Trong tình huống như vậy, nhu cầu có thể phát sinh để thực hiện xác nhận một cách riêng biệt cho nhóm riêng biệt. Loại tình huống này được xử lý bằng cách sử dụng các nhóm xác thực.
Để tạo một nhóm xác thực, bạn nên đặt các điều khiển đầu vào và các điều khiển xác thực vào cùng một nhóm logic bằng cách đặt thuộc tính ValidationGroup của chúng .