Upload
hai-nguyen
View
43
Download
0
Embed Size (px)
DESCRIPTION
ASP.net Cac Control Kiem Tra Du Lieu
Citation preview
04/03/2011 Lập trình Web 2 2
Giới thiệu Validation control
Các Validatior đơn giản
Regular Expression Validator
Custom Validator
04/03/2011 Lập trình Web 2 3
Giới thiệu Validation control
Các Validatior đơn giản
Regular Expression Validator
Custom Validator
4
Validation control kiểm tra tính đúng đắn của dữ liệu do client nhập vào trước khi trang được gửi về cho server
Validation control Sử dụng khi
RequiredFieldValidator Kiểm tra nếu dữ liệu trong control khác giá trị
cho trước (mặc định là rỗng)
CompareValidator
Kiểm tra nếu mục dữ liệu nhập trong control
giống với control khác hoặc so sánh với một giá
trị cụ thể
RangeValidator Kiểm tra nếu mục dữ liệu nhập trong control nằm
giữa hai khoảng giá trị
RegularExpressionValidator Kiểm tra nếu mục dữ liệu nhập trong control thỏa
một công thức định dạng chỉ định
CustomValidator
Kiểm tra tính đúng đắn của dữ liệu nhập vào
control sử dụng client-side script hoặc server-
side code, hoặc cả hai
ValidationSummary Hiển thị tất cả các lỗi kiểm tra xảy ra trong trang
04/03/2011 Lập trình Web 2
5
Các bước:
Kéo thả validate control vào Web form
Thiết lập các thuộc tính cho validate control: ControlToValidate là control bạn muốn kiểm tra
ErrorMessage: Thông báo lỗi
Text: Hiển thị của validate control
Sử dụng ValidationSummary control để hiển thị tất cả các lỗi xảy ra trong trang
Mặc dù việc kiểm tra xảy ra ở client, nhưng nó chỉ thực hiện khi có 1 sự
kiện post-back xảy ra!
04/03/2011 Lập trình Web 2
6
Đặt thuộc tính ErrorMessage cho Validate control
04/03/2011 Lập trình Web 2
7
Sử dụng ValidationSummary
04/03/2011 Lập trình Web 2
8
Sử dụng ValidationSummary control với ShowMessage=True
04/03/2011 Lập trình Web 2
04/03/2011 Lập trình Web 2 9
Giới thiệu Validation control
Các Validatior đơn giản
Regular Expression Validator
Custom Validator
Lập trình Web 2 10
Thuộc tính Ý nghĩa
ControlToValidate Control dùng để thực hiện kiểm tra
InitialValue Giá trị dùng để so sánh. Mặc định là rỗng.
Mẫu số <asp:TextBox ID="txtMauSo"
runat="server“></asp:TextBox>
<asp:RequiredFieldValidator ID= "reqMauSo"
runat="server"
ControlToValidate="txtMauSo"
InitialValue="0"
Text="Mau so phai khac 0" />
04/03/2011
Lập trình Web 2 11
Thuộc tính Ý nghĩa
ControlToValidate Control dùng để thực hiện kiểm tra
ControlToCompare Control dùng để so sánh
Operator
Toán tử so sánh: Equal, GreaterThan,
GreaterThanEqual, LessThan, LessThanEqual,
NotEqual, hoặc DataTypeCheck
ValueToCompare Giá trị hằng số để so sánh ControlToValidate với
Operator
Type Kiểm tra kiểu dữ liệu của ControlToValidate: String,
Integer, Double, Date, Currency
04/03/2011
Lập trình Web 2 12
Enter Password: <asp:TextBox ID="txtPass1" runat="server"
TextMode="password"></asp:TextBox></br>
Reenter Password: <asp:TextBox ID="txtPass2"
runat="server"
TextMode="password"></asp:TextBox>
<asp:CompareValidator ID="compPass" runat="server"
ControlToValidate="txtPass2"
Operator="Equal"
ControlToCompare="txtPass1" Text="Passwords must match" />
04/03/2011
Lập trình Web 2 13
Age: <asp:TextBox ID="TextBox1"
runat="server"></asp:TextBox>
<asp:CompareValidator ID="compAge"
runat="server"
ControlToValidate="txtAge"
ValueToCompare="18"
Operator="LessThanEqual“
Type="Integer" Text="You are too old to view this site" />
04/03/2011
Lập trình Web 2 14
Sales Date: <asp:TextBox ID="txtDate"
runat="server"></asp:TextBox>
<asp:CompareValidator ID="compDate"
runat="server"
ControlToValidate="txtDate"
Operator="DataTypeCheck"
Type="Date" Text="Enter a valid date" />
04/03/2011
Lập trình Web 2 15
<asp:TextBox ID="txtNumber" runat="server"></asp:TextBox>
<asp:RangeValidator ID="rangeNum" runat="server"
ControlToValidate="txtNumber"
MinimumValue="1"
MaximumValue="20"
Type="Integer" Text="Please enter number between 1 and 20" />
Thuộc tính Ý nghĩa
ControlToValidate Control dùng để thực hiện kiểm tra
MinimumValue Giá trị cận dưới
MaximumValue Giá trị cận trên
Type Kiểm tra kiểu dữ liệu của ControlToValidate: String,
Integer, Double, Date, Currency
04/03/2011
04/03/2011 Lập trình Web 2 16
Giới thiệu Validation control
Các Validatior đơn giản
Regular Expression Validator
Custom Validator
Lập trình Web 2 17
Email <asp:TextBox ID=“txtEmail» runat="server">
</asp:TextBox>
<asp:RegularExpressionValidator ID=“valEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-
.]\w+)*" ErrorMessage="Enter a valid Email"/>
04/03/2011
Lập trình Web 2 18
Ký hiệu Ý nghĩa
^ … $ Dấu hiệu bắt đầu và kết thúc một Expression
\t Có chứa Ký tự Tab
\n Có chứa Ký tự xuống dòng
. Có chứa Ký tự bất kỳ khác \n
[qwerty] Có chứa Ký tự bất kỳ trong ngoặc vuông
[^qwerty] Không chứa ký tự nào trong ngoặc vuông
[a-z] Có chứa ký tự trong khoảng từ a đến z
\w Có chứa một từ bất kỳ (word). Tương tự [a-zA-Z0-0]
\W Có chứa một chuỗi bất kỳ không phải là một từ
(nonword)
| Hoặc
04/03/2011
Lập trình Web 2 19
Ký hiệu Ý nghĩa
\s Có chứa ký tự khoảng trắng
\S Không chứa ký tự khoảng trắng
\d Có chứa ký tự số
\D Không phải ký tự số
* Chỉ định 0 hoặc nhiều
+ Chỉ định 1 hoặc nhiều
? Chỉ định 0 hoặc 1
{n} Chỉ định có đúng chính xác n lần
{n,} Chỉ định có nhiều hơn n lần
{n,m} Chỉ định có từ n đến m lần
04/03/2011
04/03/2011 Lập trình Web 2 20
Giới thiệu Validation control
Các Validatior đơn giản
Regular Expression Validator
Custom Validator
21
Tự viết mã lệnh kiểm tra chạy trên server hoặc client
Trên Server
Đặt mã lệnh kiểm tra trong hàm xử lý sự kiện ServerValidate
Hoặc Trên Client
Chỉ định đoạn script kiểm tra cho thuộc tính ClientValidationFunction của CustomValidator
04/03/2011 Lập trình Web 2
22
protected void MyValidate(object source,
ServerValidateEventArgs args)
{
args.IsValid = false;
if (TextBox1.Text == "abc")
args.IsValid = true;
}
04/03/2011 Lập trình Web 2
23
<script language="javascript">
function ClientValidate(e, args)
{
args.IsValid = false;
if (args.Value == "abc")
args.IsValid = true;
}
</script>
04/03/2011 Lập trình Web 2
Lập trình Web 2 24
Tại sao cần kiểm tra dữ liệu?
Các Validator control của ASP.NET thực hiện kiểm tra dữ liệu ở client hay ở server?
Cách thức kiểm tra dữ liệu bằng Javascript?
04/03/2011
04/03/2011 Lập trình Web 2 25
Sử dụng lại trang đăng kí ở bài trước
Sử dụng các validation controls để kiểm tra dữ liệu và thông báo lỗi, như sau:
Yêu cầu bắt buộc nhập tất cả thông tin
Mật khẩu phải có từ 6 đến 20 kí tự
Mật khẩu nhập lại phải khớp với mật khẩu
Kiểm tra email đúng định dạng
Kiểm tra ngày tháng năm sinh hợp lệ (kiểm tra năm nhuận, tháng có 28, 29, 30, 31 ngày)
Bắt buộc chọn nơi ở hiện tại (khác giá trị mặc định "Tỉnh/Thành")
Điện thoại liên lạc chỉ gồm số và có từ 6 đến 11 số
Khi người dùng bấm nút Đăng kí và dữ liệu đều hợp lệ sẽ chuyển trang web đến trang thông tin đăng kí thể hiện thông tin người dùng đã nhập ở trang trước