JavaBean验证号格式化问题

JavaBean验证号格式化问题,java,jakarta-ee,bean-validation,Java,Jakarta Ee,Bean Validation,我正在努力用Bean验证来验证双属性 我的应用程序使用AngularJS和JavaEE(JAX-RS/JAXB)作为后端 我的班级看起来像: 公共类MyClass{ @NotNull 双重价值; //空构造函数、getter、setter } 如果我向服务器发送,MyClass的JSON表示形式为: { value: '' } 或 最后,我发现值“不得为null”违反了验证约束 我希望为第二个JSON表示的类型格式化问题提供一个验证约束 除了客户端验证之外,还有其他方法吗?您发送的值是字符串

我正在努力用Bean验证来验证双属性

我的应用程序使用AngularJS和JavaEE(JAX-RS/JAXB)作为后端

我的班级看起来像:

公共类MyClass{
@NotNull
双重价值;
//空构造函数、getter、setter
}
如果我向服务器发送,MyClass的JSON表示形式为:

{ value: '' }

最后,我发现值“不得为null”违反了验证约束

我希望为第二个JSON表示的类型格式化问题提供一个验证约束


除了客户端验证之外,还有其他方法吗?

您发送的值是字符串类型的。尝试发送

{ value: 456 }

现在它是一个数字,验证应该可以正常工作。

这是因为您的JSON被作为字符串发送,然后被转换为Double(使用类似于
Double.valueOf(“456q”)
),而javax.validation不知道该字符串

但是,它仍然被检查为一个数字(无效情况下返回null)

如果您真的想进行格式检查,那么您可能应该将该值存储为字符串,并在需要时将其转换为Double

{ value: 456 }