Bài 3: Làm vi c v i Form trong
Yii framework
Bài 3: Làm vi c v i Form trong Yii
M c tiêu bài h c
Gi i thi u t ng quan v Form trong Yii framework
Tìm hi u các v n :
• T o model
• T o action
• T o form
• Các i u khi n input trong b ng
• S d ng from builder
Bài 3: Làm vi c v i Form trong Yii
2
Gi i thi u Form trong
Yii framework
Bài 3: Làm vi c v i Form trong Yii
3
Form trong Yii?
Form dùng
thu th p d li u ng i s d ng nh p vào
các i u khi n HTML. Có 3 b c c n thi t
t o form
trong yii.
T o l p model v i các tr ng d li u t ng ng v i
b ng d li u.
T o l p controller v i các hành
ng áp ng l i ng i
dùng qua form.
T o form trong các view g n v i hành
ng trong
controller.
Bài 3: Làm vi c v i Form trong Yii
4
T o Model trong
Yii framework
Bài 3: Làm vi c v i Form trong Yii
5
nh ngh a l p Model trong Yii?
Ví d d i ây là t o model cho form ng nh p
T i ây ta khai báo 3 bi n:
• $username, $password và $rememberMe
Bài 3: Làm vi c v i Form trong Yii
6
Khai báo các qui t c Validation?
Khi ng i dùng nh p d li u, ng d ng nh t thi t ph i
ki m tra tính h p l c a d li u tr c khi s d ng.
Ta s d ng ph ng th c rules()
ki m soát
Bài 3: Làm vi c v i Form trong Yii
7
Khai báo các qui t c Validation?
Có 3 cách
xác minh tính h p l trong rules.
Th nh t, có th xác minh qua tên ph ng th c:
Ví d :
Bài 3: Làm vi c v i Form trong Yii
8
Khai báo các qui t c Validation?
Có 3 cách
xác minh tính h p l trong rules.
Th hai, Validator có th là tên c a m t l p xác minh. Khi
các quy nh
c áp d ng, m t th hi n c a l p xác minh
s
c t o ra
th c hi n vi c xác nh n th c t .
L p này luôn
c k th a t l p CValidator.
Bài 3: Làm vi c v i Form trong Yii
9
Khai báo các qui t c Validation?
Có 3 cách
xác minh tính h p l trong rules.
Th ba, Validator có th là m t bí danh
c xác nh
tr c cho m t l p xác minh. Trong ví d sau, tên yêu c u
là bí danh
CRequiredValidator
m b o các giá tr
thu c tính
c xác nh n.
Bài 3: Làm vi c v i Form trong Yii
10
Khai báo các qui t c Validation?
Ví d v m t s qui t c Validate:
Bài 3: Làm vi c v i Form trong Yii
11
Nhi m v
m b o các thu c tính?
Sau khi m t th hi n c a model
nh n d li u c a ng i dùng g i
Và ta c n l y ra d li u c a ng
c t o ra, chúng ta c n
n nh sau:
i dùng nh p vào nh sau:
Bài 3: Làm vi c v i Form trong Yii
12
T o Action trong
Yii framework
Bài 3: Làm vi c v i Form trong Yii
13
T o các hành
ng trong Controller?
Sau khi ã có model, vi c c n thi t là t o các hành
(action) trong controller:
ng
Bài 3: Làm vi c v i Form trong Yii
14
T o các hành
ng trong Controller?
Trong hành ng ng nh p, chúng ta s d ng:
Yii :: app() -> user-> ReturnUrl
l y URL c a trang c n xác
th c.
Các thành ph n Yii :: app () -> user thu c ki u CWebUser
Ta l y các thu c tính c a form nh sau:
L y giá tr c a t ng thu c tính nh sau:
Bài 3: Làm vi c v i Form trong Yii
15
T o Form trong
Yii framework
Bài 3: Làm vi c v i Form trong Yii
16
T o Form?
Yii cung c p m t s l p helper cho vi c t o form.
Ví d
t o tr ng d li u cho ng i dùng nh p vào,
chúng ta có th g i CHtml nh sau:
•CHtml::textField()
t o drop down list ta có th g i:
•CHtml::dropDownList()
Bài 3: Làm vi c v i Form trong Yii
17
T o Form?
Ví d :
Form Login
Bài 3: Làm vi c v i Form trong Yii
18
T o Form?
Trong ó:
CHtml::activeLabel(): dùng
t o nhãn
CHtml::activeTextField(): dùng
t o text field
Bài 3: Làm vi c v i Form trong Yii
19
T o Form?
S d ng
Widget
g i
CActiveForm:
Bài 3: Làm vi c v i Form trong Yii
20
Các i u khi n Input trong
Tabular
Yii framework
Bài 3: Làm vi c v i Form trong Yii
21
a i u khi n Input vào b ng?
Ta có th s p x p các i u khi n input vào b ng.
Sau ó chúng ta l y d li u ng i dùng nh p vào t bi n
$ _POST và gán nó cho m i model.
Ta l y d li u u vào s d ng
•$_POST['ModelClass'][$i] thay vì $ _POST ['ModelClass'].
Bài 3: Làm vi c v i Form trong Yii
22
a i u khi n Input vào b ng?
Ví d v hành
ng
Bài 3: Làm vi c v i Form trong Yii
23
a i u khi n Input vào b ng?
Ví d
v form
Bài 3: Làm vi c v i Form trong Yii
24
a i u khi n Input vào b ng?
Ví d
v cách
l y các
item
c nc p
nh t
Bài 3: Làm vi c v i Form trong Yii
25