Java @XML验证中双精度的NotNull
我需要使用JSR-303注释验证输入中XML的结构。因此,我希望我的XML包含所有必需的标记,如果XML标记不包含任何值,我接受。 所以必须有所有的标签,它们可以是空的 问题是,如果@NotNull注释对字符串很有效(因此我可以让xml标记不带值),那么对于双变量,我就不能使用它,因为如果我清空标记,它会像删除标记一样返回错误 对于远程:Java @XML验证中双精度的NotNull,java,xml,data-binding,annotations,bean-validation,Java,Xml,Data Binding,Annotations,Bean Validation,我需要使用JSR-303注释验证输入中XML的结构。因此,我希望我的XML包含所有必需的标记,如果XML标记不包含任何值,我接受。 所以必须有所有的标签,它们可以是空的 问题是,如果@NotNull注释对字符串很有效(因此我可以让xml标记不带值),那么对于双变量,我就不能使用它,因为如果我清空标记,它会像删除标记一样返回错误 对于远程: <extTag> <myString>Hello</myString> -> @NotNull String
<extTag>
<myString>Hello</myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
<myString></myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
-> @NotNull String myString; -> ERROR!
</extTag>
你好->@NotNull字符串myString;->好啊
->@NotNull字符串myString;->好啊
->@NotNull字符串myString;->错误
对于Double,我希望有相同的控件,但是当值为null时,我会得到错误
<extTag>
<myDouble>12.00</myDouble> -> @NotNull Double myDouble; -> OK!
</extTag>
<extTag>
<myDouble></myDouble> -> @NotNull Double myDouble; -> ERROR!
</extTag>
<extTag>
-> @NotNull Double myDouble; -> ERROR!
</extTag>
12.00->@NotNull Double myDouble;->好啊
->@NotNull Double myDouble;->错误
->@NotNull Double myDouble;->错误
我可以使用注释获得双变量字符串的相同行为吗?也许您应该使用不同的技术来验证
XML
结构,使用XML模式定义(XSD)
或使用解析器迭代hole文档
我认为您对XML
和Bean验证有点困惑,请记住XML
存储Bean值的String
表示,JSR-303是关于值验证的:
- 对于
您有一个空值表示,这个:String
很好,因为它等效于这个”
- 对于
而言,没有空表示,因此此Double
为空值