@NotNull for Double in XML 验证
@NotNull for Double in XML Validation
我需要使用 JSR-303 注释验证输入中 XML 的结构。所以我希望我的 XML 包含所有必需的标签,如果 XML 标签根本不包含任何值,我接受。
所以标签一定要全,可以为空
问题是,如果 @NotNull 注释对字符串很好用(所以我可以在 xml 标签中没有值),对于 Double 变量我不能使用它,因为如果我清空标签,它 returns 我的错误就像我也删除了标签。
例如:
<extTag>
<myString>Hello</myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
<myString></myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
-> @NotNull String myString; -> ERROR!
</extTag>
对于 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>
我可以为 Double 变量获得相同的行为 od 字符串 使用注释吗?
也许您应该使用不同的技术来验证 XML
结构,使用 XML Schema Definition (XSD)
或使用解析器迭代 hole 文档。
我认为您对 XML
和 Bean Validation 有点困惑,请记住 XML
存储 Bean 值的 String
表示,而 JSR- 303 是关于值验证的:
对于 String
你有一个空值表示,这个:<myString></myString>
很好,因为等同于这个 ""
.
对于Double
没有空表示,所以这个<myDouble></myDouble>
是一个空值。
我需要使用 JSR-303 注释验证输入中 XML 的结构。所以我希望我的 XML 包含所有必需的标签,如果 XML 标签根本不包含任何值,我接受。 所以标签一定要全,可以为空
问题是,如果 @NotNull 注释对字符串很好用(所以我可以在 xml 标签中没有值),对于 Double 变量我不能使用它,因为如果我清空标签,它 returns 我的错误就像我也删除了标签。
例如:
<extTag>
<myString>Hello</myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
<myString></myString> -> @NotNull String myString; -> OK!
</extTag>
<extTag>
-> @NotNull String myString; -> ERROR!
</extTag>
对于 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>
我可以为 Double 变量获得相同的行为 od 字符串 使用注释吗?
也许您应该使用不同的技术来验证 XML
结构,使用 XML Schema Definition (XSD)
或使用解析器迭代 hole 文档。
我认为您对 XML
和 Bean Validation 有点困惑,请记住 XML
存储 Bean 值的 String
表示,而 JSR- 303 是关于值验证的:
对于
String
你有一个空值表示,这个:<myString></myString>
很好,因为等同于这个""
.对于
Double
没有空表示,所以这个<myDouble></myDouble>
是一个空值。