url Validator kiểm tra xem giá trị đã cung cấp có là một chuỗi và là một url hợp lệ không. Chỉ có một tham số được định nghĩa cho url Validator, đó là:
- fieldName: xác định tên trường mà để được validate. Nó chỉ bắt buộc trong Plain-Validator.
Ví dụ url validation
Cho Plain Validator:
<validators> <!-- Vi du cho Plain Validator --> <validator type="url"> <param name="fieldName">website</param> <message>Website URL khong hop le</message> </validator> </validators>
Cho Field Validator:
<validators> <!-- Vi du cho Field Validator --> <field-validator type="url"> <field name="website"> <message>Website URL khong hop le</message> </field> </field-validator> </validators>
Ví dụ đầy đủ url validation trong Struts 2
Tạo index.jsp
Cho input từ người dùng. Nó nhận name, password, và email id từ người dùng.
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<STYLE type="text/css">
.errorMessage{color:red;}
</STYLE>
</head>
<body>
<s:form action="register">
<s:textfield name="url" label="Website URL"></s:textfield>
<s:submit value="register"></s:submit>
</s:form>
</body>
</html>
Tạo lớp action
: Lớp này kế thừa lớp ActionSupport và ghi đè phương thức validate.
RegisterAction.java
package com.hoclaptrinh; import com.opensymphony.xwork2.ActionSupport; public class Register extends ActionSupport{ private String url; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String execute(){ return "success"; } }
Tạo validation file
Tại đây chúng ta đang sử dụng bundled validator để thực hiện trình validation.
Register-validation.xml
<?xml version="1.0" encoding="UTF-8"?> <validators> <field name="url"> <field-validator type="requiredstring"> <message>URL khong duoc de trong</message> </field-validator> <field-validator type="url"> <message>URL phai chinh xac, vi du http://www.hoclaptrinh.com</message> </field-validator> </field> </validators>
Tạo struts.xml
xml file định nghĩa một result bởi tên đã nhập, và một interceptor là jsonValidatorWorkflowStack.
<?xml version="1.0" encoding="UTF-8" ?> <struts> <package name="default" extends="struts-default"> <action name="register" class="com.hoclaptrinh.Register"> <result name="input">index.jsp</result> <result>welcome.jsp</result> </action> </package> </struts>
Tạo các thành phần view
JSP file đơn giản này hiển thị thông tin về người dùng.
welcome.jsp
<%@ taglib uri="/struts-tags" prefix="s" %> URL is:<s:property value="url"/>