开发者社区> 问答> 正文

如何验证Java Spring Web MVC 框架中的表单数据?

Spring MVC 通过实现接口的验证器对象支持验证,通过什么做到呢?

展开
收起
YDYK 2020-04-25 21:50:16 863 0
1 条回答
写回答
取消 提交回答
  • 您需要创建一个类并实现接口。在此自定义验证器类中,使用实用程序方法(如 )和 类中验证所需的表单字段。ValidatorValidatorrejectIfEmptyOrWhitespace(rejectIfEmpty()ValidationUtils

    @Component public class EmployeeValidator implements Validator { public boolean supports(Class clazz) { return EmployeeVO.class.isAssignableFrom(clazz); }

    public void validate(Object target, Errors errors)
    {
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "error.firstName", "First name is required.");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "error.lastName", "Last name is required.");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", "error.email", "Email is required.");
    }
    

    } 如果任窗体字段为空,则这些方法将创建字段错误并将其绑定到该字段。这些方法的第二个参数是属性名称,而第三个和第四个参数是错误代码和默认错误消息。

    要将此自定义验证器激活为弹簧托管 Bean,您需要执行以下操作之一:

    向类添加注释,并在包含此类声明的包上激活注释扫描。@ComponentEmployeeValidator <context:component-scan base-package="com.howtodoinjava.demo" /> 或者,可以直接在上下文文件中注册验证器类 Bean。 <bean id="employeeValidator" class="com.howtodoinjava.demo.validator.EmployeeValidator" /

    2020-04-25 21:51:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载