使用Spring校验的大体流程:

最首先要有配置文件xml的支持(spring_validate.xml).(当然在web.xml中要有对该xml的体现)

 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
"> <bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
<!-- 如果不加默认到 使用classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="messageSource" />
</bean> <bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 以发布到服务器的路径为准 -->
<property name="basename" value="classpath:messages" />
<property name="fileEncodings" value="utf-8" />
<property name="cacheSeconds" value="120" />
</bean> <bean id="webBindingInitializer"
class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> <property name="conversionService">
<bean
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
</bean> </property>
<property name="validator" ref="validator" />
</bean> </beans>

然后就是这个东西登场了:messages.properties.

然后在model层里相应的地方也要有相应的体现

 public class User{    

     @NotEmpty
private String username;
@NotEmpty
private String password;
@NotEmpty
private String repassword; @NotEmpty
@Email
private String email;
@NotEmpty
private String xm;
}

再然后是control层里的调用:

 public String xx(@Valid User user,
BindingResult result, Map map ){ if(result.hasErrors()){
return "xx.ftl";
}
}

最后是在JSP页面了(个人用的是ftl)

首先要有这两句话:Spring的组件

<#assign spring=JspTaglibs["http://www.springframework.org/tags"]/>

<#assign form=JspTaglibs["http://www.springframework.org/tags/form"] />

然后在对应的input下都要有所体现

 用户名:<input type="text" name="username" id="username">
<@form.errors path="username"/>
密码:<input type="text" name="password" id="password">
<@form.errors path="password"/>

在最后注意form表单要这样写。其中commandName是那个的实体类名的小写。

<@form.form commandName="user" action="" method="post" name="" id="">

显示的效果是这样:

本帖纯属个人的学习和理解,如有错误请各位大神指正。

Spring的校验(Validator)的更多相关文章

  1. spring mvc 4数据校验 validator

    注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC http://jinnianshilongnian.iteye.com/blog/1733708Spring4新特性——集成B ...

  2. spring mvc后端校验validator

    springmvc中我们使用hibernate的校验框架validation: pom: <validator.version>5.2.4.Final</validator.vers ...

  3. SpringMVC使用校验validator校验对象属性

    1.pom.xm添加依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>va ...

  4. spring boot:使用validator做接口的参数、表单、类中多字段的参数验证(spring boot 2.3.1)

    一,为什么要做参数验证? 永远不要相信我们在后端接收到的数据, 1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口, 相信大家可能很多人在工作中遇到过这种情况 2,防 ...

  5. spring 数据校验之Hibernate validation

    1.需要的jar包 2.springsevlet-config.xml配置 在spring3之后,任何支持JSR303的validator(如Hibernate Validator)都可以通过简单配置 ...

  6. 数据校验validator 与 DWZ

    在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 ...

  7. Spring 捕捉校验参数异常并统一处理

    使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxY ...

  8. spring 接口校验参数(自定义注解)

    1. 注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.l ...

  9. spring 参数校验

    1.了解下资源文件加载 MessageSource   需要国际化处理时使用这个类 (在需要处理国际化的地方使用messageSource.getMessage(this.getResponseCod ...

随机推荐

  1. Android 走向MD的配色风格

    这是一些google官方推出的推荐色值 下面补充上对应的xml文件,省得大家再去自己写 <?xml version="1.0" encoding="utf-8&qu ...

  2. 浅谈getAttribute兼容性

    最近终于证实tag.setAttribute("style", "color:#000;");在IE7中不起作用.于是百度了一些解决办法. IE的setAttr ...

  3. C#:C# 运算符

    ylbtech-C#:C# 运算符 1.返回顶部 1. C# 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位 ...

  4. centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

    centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...

  5. Unity3D4.* NGUI制作动态字库

    新建一个工程,这个工程必须没有中文路径,否则会不识别字体!!! 首先导入NGUI插件,这里我用的是NGUI 3.0.2版本的. 在Assets 下创建一个文件夹,用来存放接下来的工作文件 . 这里随便 ...

  6. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装前端库

    前端库使用npm进行安装,需要先建立webpack.json文件 因为我们没有使用npm安装任何库,所以npm的文件夹是空的 这里是用于开发时构建时引用的库写在这里 这里用到bootStrap 开发时 ...

  7. git cherry-pick简介(转载)

    转自:http://hubingforever.blog.163.com/blog/static/1710405792012587115533/ 本文编辑整理自: http://sg552.iteye ...

  8. 批处理(cmd)的学习记录

    批处理的使基本使用 Command Introduction Example set 设置环境变量 set name="小明" call 启动应用程序   rem 解释说明,可通过 ...

  9. c语言函数参考

                                                                                                        ...

  10. maven构建web项目,cannot be cast to javax.servlet.Servlet

    今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖 <dependency> <groupId>javax.servlet</group ...