当前位置: 首页 > 面试题库 >

在Spring MVC验证中,是否可以一次在每个字段中仅显示一条错误消息?

雷曜灿
2023-03-14
问题内容

例,

我有

@NotEmpty //tells you 'may not be empty' if the field is empty
@Length(min = 2, max = 35) //tells you 'length must be between 2 and 35' if the field is less than 2 or greater than 35
private String firstName;

然后我输入一个空值。

它说,“不能为空,长度必须在2到35之间”

是否可以告诉spring每个字段一次验证一次?


问题答案:

是的,有可能。只需像这样创建自己的注释:

@Documented
@Constraint(validatedBy = {})
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@ReportAsSingleViolation
@NotEmpty
@Length(min = 2, max = 35)
public @interface MyAnnotation {

    public abstract String message() default "{mypropertykey}";

    public abstract Class<?>[] groups() default {};

    public abstract Class<?>[] payload() default {};
}

重要的部分是@ReportAsSingleViolation批注



 类似资料:
  • 问题内容: 例, 我有 然后我输入一个空值。 它说,“不能为空,长度必须在2到35之间” 是否可以告诉spring每个字段一次验证一次? 问题答案: 是的,有可能。只需像这样创建自己的注释: 重要的部分是@ReportAsSingleViolation批注

  • 我在bean每个字段上都有多个验证注释,但我希望在使用JSR303的spring MVC应用程序中只显示每个字段的第一个失败消息。目前,它正在评估所有约束并显示每个字段的所有消息。当一个文件为空时,我不想计算它的最小和最大约束。 我尝试过使用组,但它并不像预期的那样工作,而且我需要显式地调用验证器,比如validator.validate(),这是我想避免的。 是否有任何替代方法可以通过过度编写一

  • 问题内容: 我正在尝试使用SuperCSV将数据库中的大量行(约200万行)写入CSV文件。我需要在每个单元格编写时对其进行验证,并且内置的CellProcessor表现得非常好。我想捕获CellProcessors抛出的所有异常,以便可以返回到源数据并进行更改。 问题是,当一行中存在多个错误时(例如,第一个值超出范围,第二个值为null,但不应为空),只有第一个CellProcessor会执行,

  • 问题内容: 我有一个表格,如果单击“提交”,则需要显示验证错误消息。 这是一个工作的家伙 用户开始进行更改时,验证工作正常。但是它不会显示任何错误消息。如果单击“提交”而不输入任何内容。 有实现这个的想法吗?或者以其他方式如何在单击“提交”按钮时使每个输入字段$ dirty 问题答案: 我在http://jsfiddle.net/thomporter/ANxmv/2/上找到了这个小提琴,它巧妙地进

  • 这个问题现有两种变体: 仅当字段不为空时验证:有条件地处理字符串的解决方案 Hibernate验证-仅在对象不为null时进行验证:唯一的答案演示了该行为,并提示您在手动触发验证时如何处理该行为 我的问题添加了限定符,即在可能为空的对象上使用@Valid时如何执行此操作。 这里的用例是,我们有两个字段,其中一个或另一个需要不为null(包含字段的类上的自定义验证器)。当一个不为null时,我需要它

  • 问题内容: Swift 2.0的新功能;尝试学习它,对动画感兴趣,并尝试编写一些代码以一次在屏幕上显示一条消息。 我写了这个,它可以工作,但是我不能帮忙,但是我可能无法对CALayers和/或alpha值做些什么?或一些动画小玩意,更值得一去;这感觉和看起来有点笨拙,确实在1977年。 问题答案: 我想Swiftworthy是主观的,但这是另一个基于您代码当前工作方式的实现,该实现将NSTimer

  • 我想验证字段,如果存在,将失败,如果另一个字段不存在如何做到这一点?我已经创建了自定义验证,以获得基于存储ID的记录 我有字段和,并且字段根据在最大值和最小值之间进行验证,如果我显示=且未填写字段,则验证字段将通过,并显示错误,因为我未填写我希望在执行自定义验证之前检查是否为空。。 我已经阅读了laravel文档上的所有验证方法,但仍然没有找到解决方案。怎么做?