问答详情
源自:2-0 表单验证

@Valid注解不加还是会做验证?

我把

@Valid

注解去掉还是会做验证,小于18岁会抛出异常,只是

BindingResult

获取不到错误消息了,正常情况按照我的理解的话,如果不加这个注解应该不会去验证才对

@Valid
BindingResult


提问者:慕尼黑6008631 2018-05-09 15:48

个回答

  • likeflower950
    2018-06-30 18:48:43

    @Valid 这个是用来接收参数的时候验证的,将验证结果存入 BindingResult 结果中;

    但是,你在实体类中加的@Min、@Max等验证规则是hibernate进行数据库交互的时候需要验证的,所以,如果你在实体中加了限制,那么只有在存入数据库的时候会再次进行验证。

    所以,这个表单验证我认为存在缺陷,按道理他应该是验证你接受的数据,而不是你存入数据库的数据,因为很多情况下,接受的数据是需要经过处理才能存入数据库的,如果处理之后不符合接受时候的规则了,那么也将无法存入数据库!

  • 慕斯2569715
    2018-05-17 14:02:18

    默认应该会的