25 October 2016

Struts 2 Framework: Register và Validation XML [P6]

Cấu trúc Phần 5 đã xong!
[Phần 6] Chúng ta thực hiện chức năng Register – đăng ký cho ứng dụng
-Bổ sung link Register vào trang index.jsp
-Tạo trang register.jsp
-Tạo trang fail.jsp để thông báo lỗi SQL khi register insert đã có username trong database.

-Tạo action có tên RegisterAction đặt trong package com.giaima
-Trong hàm execute, thực hiện gọi hàm insertAcount của class AccountDAO như sau:
-Tạo tập tin cấu hình về validation theo dạng tên ActionClass-validation.xml. Ở đây sẽ tạo tập tin RegisterAction-validation.xml đặt tại package com.giaima 
-Xóa nội dung trong RegisterAction-validation.xml vừa mới tạo sau đó Coppy paste đoạn validation này vào lưu lại.
RegisterAction-validation.xml
Java Struts 2 Framework 2016
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE validators PUBLIC
    "-//Apache Struts//XWork Validator 1.0.3//EN"
    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

<validators>

    <field name="username">
        <field-validator type="requiredstring">
            <message>User name is required.</message>
        </field-validator>
        
        <field-validator type="stringlength">  
            <param name="minLength">6</param>  
            <param name="maxLength">10</param>  
            <param name="trim">true</param>  
            <message>Username must be between 6 to 10 characters long</message>   
        </field-validator>      
    </field>
 
    <field name="lastname">
        <field-validator type="requiredstring">
            <message>User name is required.</message>
        </field-validator>
        
        <field-validator type="stringlength">  
            <param name="minLength">4</param>  
            <param name="maxLength">50</param>  
            <param name="trim">true</param>  
            <message>Lastname must be between 4 to 50 characters long</message>   
        </field-validator>      
    </field>

    <field name="password">
        <field-validator type="requiredstring">
            <message>Password is required</message>
        </field-validator>
        
        <field-validator type="stringlength">  
            <param name="minLength">6</param>  
            <param name="maxLength">20</param>  
            <param name="trim">true</param>  
            <message>Password must be between 6 to 20 characters long</message>   
        </field-validator>  
    </field>

    <field name="confirm">
        <field-validator type="requiredstring">
            <message>cPassword is required</message>
        </field-validator>
        
        <field-validator type="fieldexpression">
            <param name="expression"><![CDATA[password == confirm]]></param>
            <message>Passwords must match.</message>
        </field-validator>
    </field>
    
    <field name="email">
        <field-validator type="requiredstring">
            <message>Email address not valid.</message>
        </field-validator>
        
        <field-validator type="email">
            <message>Must provide a valid email.</message>
        </field-validator>
    </field>
    
    <field name="phone">
        <field-validator type="requiredstring">
            <message>Phone number is required.</message>
        </field-validator>
    
        <field-validator type="regex">
            <param name="regex"><![CDATA[\d{3}-\d{3}-\d{4}]]></param>
            <message>Phone number must be entered as 999-999-9999.</message>
        </field-validator>
    </field>
    
</validators>
-Cấu hình tập tin struts.xml với action đặc biệt input như lập trình validation trong Action class nhưng phải reference đến 03 interceptor của Struts2 Framework, cụ thể là params, validation và workflow
-Cấu trúc project hiện hành như sau:
Lưu ý: Nếu thiếu file struts-config.xml thì lỗi vì thế các bạn coppy file struts.xml vào WEB-INF paste đổi tên thành struts-config.xml là chạy bình thường. Run ok!
-Clean and Build Project, Deploy và Test
index.jsp
Click here
Để null các input
Validate kiểu, độ dài, password trùng nhau
 Khi nhập đúng định dạng username, password & confirm
 Khi nhập đúng định dạng lastname
 Khi nhập đúng định dạng email
 Khi nhập đúng định dạng phone
 Bắt đầu register insert vào Data
 Register success tự forward đến login page
 Login thành công với Romell & search Romell
 Data view show table.
 Register username đã có trong Database thì sao?
 Đưa ra màn hình lỗi forward đến fail.jsp
End

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang