Professional Documents
Culture Documents
Lab - 08 - Validation Control - 420350
Lab - 08 - Validation Control - 420350
Lab - 08 - Validation Control - 420350
2009
Trong Lab 08 này, hướng dẫn cách sử dụng nhóm Validation Control
của ASP.Net trong kiểm tra các dữ liệu input của người dùng website.
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 2
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 3
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 4
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Thay đổi giá trị property TextMode của txtPassword và txtRetypePassword thành
Password.
- Trong DropDownList ddlSex sẽ có 3 giá trị là: Choose…, Male và Female. Cách
thêm item vào trong ddlSex như sau:
o Chọn ddlSex.
o Click vào mũi tên phía Trên Phải của ddlSex. Chọn tiếp Edit Item.
o Chọn Add và thêm các item vào trong Item list của ddlSex
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 5
December 12, 2009 LAB – 08 – VALIDATION CONTROL
o Lưu ý: giá trị của DropDownList không được có dấu “<” và “>”. Vì khi giá
trị này được chọn sẽ bị hiểu nhằm thẻ HTML mới (phát sinh lỗi ngoại lệ).
o Đặt propertyPostBackURL cho 2 button: btnSumit và btnClose để
PostBack đến các trang khác.
Click vào nut … của PostBackURL để chọn trang ASPX cần
PostBack đến
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 6
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Button ID PostBackURL
btnSubmit ~/SignUpSucceed.aspx
btnClose ~/Home.aspx
Do các control Validator thực hiện việc kiểm tra trước khi thực hiện
PostBack trang. Nên khi Click vào btnClose thì cần phải vô hiệu hóa
chức năng kiểm tra của các control Validator bằng cách set property
CausesValidation của btnClose là False.
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 7
December 12, 2009 LAB – 08 – VALIDATION CONTROL
InitialValue. Mặt định giá trị trong property InitialValue là rỗng, do đó giá trị của
Control cần kiểm tra phải khác rỗng (tức cần phải được nhập liệu vào trong
control này).
- Các property cần thiết lập thông số:
o ErrorMessage: Thông báo lỗi (được hiển thị trong ValidationSummary)
o Text: Chuỗi hiển thị (ngay thị vị trí control)
o ControlToValidate: chỉ định Control được kiểm tra
o InitialValue: Giá trị được so sánh (thông thường bỏ trống, không thay đổi
giá trị ở Property này).
o SetFocusOnError: Tự động forcus đến Control này khi dữ liệu nhập không
đúng (nếu có nhiều Validation Control đều set property là này True thì nó
sẽ Focus đến Control đầu tiên bị sai).
- Bổ sung các RequiredFieldValidator vào trang Default.aspx như hình sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 8
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Thiết lập các giá trị property cho rfvStudentID như sau
Text *
ControlToValidate txtStudentID
SetFocusOnError True
- Thiết lập các giá trị property cho rfvPassword như sau
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 9
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Text *
ControlToValidate txtPassword
SetFocusOnError True
- Thiết lập các giá trị property cho rfvRetypePassword như sau
Text *
ControlToValidate txtRetypePassword
SetFocusOnError True
- Thiết lập các giá trị property cho rfvName như sau
Text *
ControlToValidate txtName
SetFocusOnError True
- Thiết lập các giá trị property cho rfvDateOfBirth như sau
Text *
ControlToValidate txtDateOfBirth
SetFocusOnError True
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 10
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Thiết lập các giá trị property cho rfvEmail như sau
Text *
ControlToValidate txtEmail
SetFocusOnError True
- Thiết lập các giá trị property cho rfvTelephone như sau
Text *
ControlToValidate txtTelephone
SetFocusOnError True
- Sau khi deploy lên Browser sẽ nhận được kết quả như sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 11
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 12
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 13
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 14
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 15
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Do yêu cầu của txtRetypePassword có dữ liệu nhập vào phải giống với
txtPassword (so sánh dữ liệu nhập vào với dữ liệu của một control được chỉ định).
Nên thiết lập các giá trị property cho cvRetypePassword như sau
Text *
ControlToCompare txtPassword
ControlToValidate txtRetypePassword
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 16
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Operator Equal
Type String
SetFocusOnError True
- Do bắt người dùng phải chọn giới tính là Male hay là Female. Nhưng mặt định o
giá trị được chọn trong ddlSex là Choose… Vậy cần phải so sánh giá trị trong
ddlSex khác với giá trị Choose… này (so sánh dữ liệu nhập vào với một giá trị đã
được cho trước). Thiết lập các giá trị property cho cvSex như sau
Text *
ControlToValidate ddlSex
Operator NotEqual
SetFocusOnError True
Type String
ValueToCompare Choose…
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 17
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 18
December 12, 2009 LAB – 08 – VALIDATION CONTROL
o SetFocusOnError: Tự động forcus đến Control này khi dữ liệu nhập không
đúng (nếu có nhiều Validation Control đều set property là này True thì nó
sẽ Focus đến Control đầu tiên bị sai).
o MaximumValue: Giá trị chặn lớn nhất.
o MinimumValue: Giá trị chặn dưới nhỏ nhất.
o Type: Kiểu dữ liệu
- Bổ sung các RangeValidator vào trang Default.aspx như hình sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 19
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Yêu cầu là điều kiện của dữ liệu nhập vào txtDateOfBirth phải này trong khoảng
từ ngày 01/01/1950 đến tới điểm hiện tại (thời điểm Page được load lên).
- Thiết lập các giá trị property cho rvDateOfBirth như sau:
Text *
ControlToValidate txtRetypePassword
SetFocusOnError True
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 20
December 12, 2009 LAB – 08 – VALIDATION CONTROL
MaximumValue
MinimumValue 01/01/1950
Type Date
- Do ở đây đây giá trị MaximumValue chưa được xác định trước nên cần phải viết
code để lấy ra giá trị này. Định nghĩa lại sự kiện Page_Load của ở file
Default.aspx.cs như sau:
protectedvoidPage_Load(objectsender, EventArgse)
{
rvDateOfBirth.MaximumValue = DateTime.Now.ToString("MM/dd/yyyy");
}
- Lưu ý: do ngày giờ của hệ thống được thiết lập mặt định theo kiểu của Mỹ là
MM/dd/yyyy. Kiếu hiệu MM là Month, mm là Minute.
- Deploy lên Browser sẽ nhận được kết quả như sau
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 21
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 22
December 12, 2009 LAB – 08 – VALIDATION CONTROL
o SetFocusOnError: Tự động forcus đến Control này khi dữ liệu nhập không
đúng (nếu có nhiều Validation Control đều set property là này True thì nó
sẽ Focus đến Control đầu tiên bị sai).
o ValidationExpression: Chuỗi định dạng dữ liệu nhập vào (công thức
Regular Expression).
- Bổ sung các RangeValidator vào trang Default.aspx như hình sau:
- Thiết lập các giá trị property cho revEmail như sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 23
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Text *
ControlToValidate txtEmail
SetFocusOnError True
ValidationExpression \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-
.]\w+)*
- ASP.Net đã thiết lập sẵn một số chuỗi định dạng ValidationExpression. Để chọn
chuỗi định dạng Email thực hiện hiện như sau:
o Click chuột vào button … trong property ValidationExpression
- Thiết lập các giá trị property cho revTelephone như sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 24
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Text *
ControlToValidate txtEmail
SetFocusOnError True
ValidationExpression \((\d{2}|\d{3})\)\-\d{7}
- Do chuỗi định dạng số điện thoại không có trong bản thiết lập sẵn của ASP.Net
nên cần phải viết lại bằng tay.
- Deploy lên Browser sẽ nhận được kết quả như sau.
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 25
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 26
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Thiết lập các giá trị property cho cvStudentID như sau:
Text *
ControlToValidate txtStudentID
SetFocusOnError True
- Do việc thực hiện kiểm tra này được thực hiện từ phía Server nên cần phải phát
sinh sự kiện ServerValidate cho cvStudentID. Chọn phần Event trên cửa sổ
Property để định phát sinh sự kiện ServerValidate cho control này (có thể double
click vào control cvStudentID để phát sinh sự kiện này).
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 27
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 28
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Lưu ý: Các control Validator khác phải được kiểm tra đúng hết thì sự kiện
ServerValidate này mới được thực hiện. Do sự kiện này được định nghĩa xử lý ở
phía Server. Nên dữ liệu nhập vào phải thực thỏa điểu kiện kiểm tra của các
control Validator khác trước thì trang ASPX mới được PostBack về Server.
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 29
December 12, 2009 LAB – 08 – VALIDATION CONTROL
- Thiết lập các giá trị property cho cvPassword như sau:
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 30
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Text *
ControlToValidate txtStudentID
SetFocusOnError True
ClientValidationFunction CheckPassword
- Do việc kiểm tra này sẽ được thực hiện ở phía Client nên cần phải lập trình một
hàm JavaScript CheckPassword thực hiện việc kiểm tra này. Chuyển sang chế độ
Source của file Default.aspx để thực hiện việc định nghĩa hàm CheckPassword
như sau:
<scripttype="text/javascript">
functionCheckPassword(e, args) {
if (args.Value.length>= 8)
args.IsValid = true;
else
args.IsValid = false;
}
</script>
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 31
December 12, 2009 LAB – 08 – VALIDATION CONTROL
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 32
December 12, 2009 LAB – 08 – VALIDATION CONTROL
4 Bài tập
- Sử dụng tất cả các Validation Control để kiểm tra phần các thông tin nhập vào của
trang đăng ký một tài khoảng Gmail (bài tập Lab 07).
Trường Đại Học Khoa Học Tự Nhiên | Công Nghệ Web ASP.Net 33