Hướng dẫn validation trong Spring MVC

1. Tổng quan

1/ Tạo một Maven Web Application Project

Các bạn có thể tạo mới một Project. Trong bài hướng dẫn này, chúng tôi sử dụng lại project của bài Hướng dẫn tạo màn hình đăng ký với Spring MVC

2/ Mở file pom.xml và thêm dependency

<!-- Hibernate Validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.4.1.Final</version>
        </dependency>

3/ Tạo một model tên Customer

Nhập code cho Customer

4/ Tạo một controller tên CustomerController

Nhập code cho CustomerController

5/ Tạo một view tên customer-form.jsp bên trong thư mục views

Nhập mã cho customer-form.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Đăng ký thông tin khách hàng</title>
<style>
.error {
	color: red
}
</style>
<link href="<c:url value="/resources/css/bootstrap.min.css" />"
	rel="stylesheet">
<script src="<c:url value="/resources/js/jquery-1.11.1.min.js" />"></script>
<script src="<c:url value="/resources/js/bootstrap.min.js" />"></script>
</head>
<body>
	<div class="container">
		<div class="col-md-12">
			<h4 class="text-center">Điền thông tin khách hàng. (*) không
				được bỏ trống.</h4>
			<div class="panel panel-info">
				<div class="panel-heading">
					<div class="panel-title">Đăng ký tài khoản mới</div>
				</div>
				<div class="panel-body">
					<form:form action="processForm" modelAttribute="customer"
						cssClass="form-horizontal">

						<div class="form-group">
							<label for="firstName" class="col-md-3 control-label">Họ:</label>
							<div class="col-md-9">
								<form:input path="firstName" cssClass="form-control" />
							</div>
						</div>

						<div class="form-group">
							<label for="lastName" class="col-md-3 control-label">Tên
								(*):</label>
							<div class="col-md-9">
								<form:input path="lastName" cssClass="form-control" />
								<form:errors path="lastName" cssClass="error" />
							</div>
						</div>

						<div class="form-group">
							<label for="lastName" class="col-md-3 control-label">Free
								passes (*)</label>
							<div class="col-md-9">
								<form:input path="freePasses" cssClass="form-control" />
								<form:errors path="freePasses" cssClass="error" />
							</div>
						</div>

						<div class="form-group">
							<label for="lastName" class="col-md-3 control-label">Email
								(*)</label>
							<div class="col-md-9">
								<form:input path="email" cssClass="form-control" />
								<form:errors path="email" cssClass="error" />
							</div>
						</div>

						<div class="form-group">
							<label for="lastName" class="col-md-3 control-label">Postal
								Code:</label>
							<div class="col-md-9">
								<form:input path="postalCode" cssClass="form-control" />
								<form:errors path="postalCode" cssClass="error" />
							</div>
						</div>

						<div class="form-group">
							<!-- Button -->
							<div class="col-md-offset-3 col-md-9">
								<button type="submit" class="btn btn-primary">Đăng ký</button>
								<button type="reset" class="btn btn-primary">Nhập lại</button>
							</div>
						</div>

					</form:form>
				</div>
			</div>
		</div>
	</div>
</body>
</html>

6/ Tạo một view tên customer-confirmation.jsp bên trong thư mục views

Nhập code cho customer-confirmation.jsp

7/ Mở file web.xml và cấu hình encoding UTF-8

Hướng dẫn validation trong Spring MVC – Build, Deploy và Run

1/ Về cách build, deploy và run các bạn tham khảo bài Hướng dẫn tạo project sử dụng Spring MVC  với eclipse

2/ Kết quả khi chạy http://localhost:8080/Spring5MVCProject/customer/showForm

Nhập đầy đủ thông tin và đúng định dạng

Chọn Đăng ký

Khi không nhập những thông tin bắt buộc và chọn Đăng ký

Leave a Reply

Your email address will not be published. Required fields are marked *