导入依赖
<!-- 校验-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.2.Final</version>
</dependency>
</dependencies>
导入标签声明
在jsp导入下面的标签声明
<%@taglib prefix="s" uri="http://www.springframework.org/tags/form"%>
Controller层
前往添加页面,需要用model带一个college
@RequestMapping("/addPage")
public String addPage(Model model) {
// 对于需要校验数据的页面,带一个对象过去,这个对象出现在
// form的modelAttribute属性中
// model.addAttribute("college", new College());
// 下面的写法用的是类名的名称,首字母小写作为它的key
model.addAttribute(new College());
return "page/college/collegeAdd";
}
在添加方法中,在需要判断的参数前加@Validated注释,在后面紧跟着BindingResult 。
@RequestMapping("/add")
public String add(@Validated College college, BindingResult br) {
if (br.hasErrors()) {
return "page/college/collegeAdd";
}
boolean result = collegeService.add(college);
if (result) {
return "page/college/collegeManager";
} else {
return "page/college/collegeAdd";
}
}
bean层
在bean层需要验证的属性前加@Pattern注释。里面使用正则表达式验证的。如需其他形式验证,可以参考下面的图。
@Pattern(regexp = "^[\u4E00-\u9FA5]{2,15}$",message = "院系名称只能是2-15个汉字")
private String collegeName;
### 前端
1.在<‘’form>前加<s:form>
2.增加 modelAttribute=“college”
3.在需要判断的属性下,加入
<s:errors path=“xxx”></s:errors> xxx是Controller中Model带来的 名字
<s:form class="layui-form" action="/college/add" id="myForm" method="post" modelAttribute="college">
<%--告诉Servlet是增加方法--%>
<input type="hidden" name="method" value="add">
<fieldset class="layui-elem-field layui-field-title">
<legend>添加院系</legend>
</fieldset>
<div class="layui-form-item">
<label class="layui-form-label">院系代号<sub>*</sub></label>
<div class="layui-input-block">
<input type="text" name="collegeNumber" lay-verify="collegeNumber" autocomplete="off"
placeholder="请输入院系代号"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">院系名称<sub>*</sub></label>
<div class="layui-input-block">
<input type="text" name="collegeName" lay-verify="collegeName" autocomplete="off" placeholder="请输入院系名称"
class="layui-input">
<s:errors path="collegeName"></s:errors>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" class="layui-textarea" name="remark" lay-verify="remark"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="saveBtn" id="saveBtn">确认保存</button>
<button class="layui-btn layui-btn-normal" type="reset">重置</button>
</div>
</div>
</s:form>