【问题标题】:@Min Annotation is not working@Min 注释不起作用
【发布时间】:2017-08-02 21:27:10
【问题描述】:

我的实体类属性部分如下:

@Entity
@Table(name="rules")
public class Rule {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long id;

    @NotEmpty
    @Size(min=4, max=128)
    @Column(length = 128, nullable = false)
    private String name;

    @Column
    private String assetType;

    @Min(value=1, message="Minimum value should be 1")
    @Column(name = "min_quantity")
    private int min_quantity;

    @Min(value=1L, message="Minimum value should be 1")
    @Column
    private int warningAt;

    @Column
    private boolean status;

html 格式:

<div class="has-error">
 <form:errors path="min_quantity" />
</div>  

我在表单验证期间遇到以下错误:

"无法将 java.lang.String 类型的属性值转换为属性 min_quantity 所需的 int 类型;嵌套异常是 java.lang.NumberFormatException:对于输入字符串:"""

在我的表单中它没有显示我的自定义消息。

【问题讨论】:

  • 将字符串转换为 Int
  • 能否详细描述一下?
  • 好的,先给我看代码
  • 如果您检查您的代码,您会发现@Min 与 JPA API 无关。它是 Bean 验证 API (javax.validation)。
  • 我已经在这里发布了我所有必要的代码,,,,Hibernate表单验证问题...

标签: java hibernate bean-validation


【解决方案1】:

@Min 应用于数字而非字符串

使用

@Length(min = 1, message = "Minimum value should be 1")

【讨论】:

    猜你喜欢
    • 2014-08-14
    • 1970-01-01
    • 2013-09-20
    • 2020-10-09
    • 2012-09-19
    • 2015-09-14
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多