eke*_*ren 5 java jaxb bean-validation
我正在使用jaxb构造对象的配置.到目前为止,我编写了自定义函数进行验证,但我想进入注释.
例如:
@XmlElement
public void setNumber(Integer i){
if (i<10 || i>20) throw new IllegalArgumentException(...);
this.number=i;
}
Run Code Online (Sandbox Code Playgroud)
上述方法的例外情况是描述性的,并给出了xml中错误的位置.
我想进入这个:
@XmlElement
@Min(10)
@Max(20)
public void setNumber(Integer i){
this.number=i;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过读取afterMarshal中的注释并根据属性注释运行验证函数来验证这一点,但后来我丢失了发生错误的实际位置(在xml中).
你有没有,我应该为这个问题使用不同的方法/框架吗?
编辑:只是为了澄清,我必须使用注释方法,因为我需要我正在编写的配置编辑器的属性约束元数据
这取决于您如何读取文件以及您计划如何显示错误。如果您还计划以编程方式构建该类,则使用 IAE 会更好。当您将 JSR-303 与 JavaEE 6 一起使用时,使用 JSR-303 会更好。此外,您必须考虑您的用户是否需要知道错误行号。
请记住:第一种(纯 POJO)方法确保任何对象都不会不一致(编组或解组),而 JSR-303 要求有人调用验证函数(以及要求类路径中的框架类)。
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |