cma*_*ard 5 java validation spring spring-boot
我正在使用 Spring Boot 和 javax 验证,特别是 @Size。我试图从 application.properties 文件中获取大小限制的值:
@Size(min= @Value("${device.name.minsize}"), max=@Value("${device.name.maxsize}"))
private String name;
Run Code Online (Sandbox Code Playgroud)
但我收到以下编译时错误:
错误:(26, 16) java:注释对于 int 类型的元素无效
为了解决这个问题,我正在尝试以下操作:
@Size(min=Integer.parseInt( @Value("${device.name.minsize}") ), max=Integer.parseInt( @Value("${device.name.maxsize}") ) )
Run Code Online (Sandbox Code Playgroud)
但这也有多个错误。
如何正确转换@Value注解?我是否走错了路?我正在寻找一种干净的方法,将大小限制从代码中拉出来并放入我可以访问服务器端和模板化的 AngularJS/html 中的配置中。
小智 1
我不认为你能够做到这一点。注释需要常量值作为参数,因为它们需要在编译时处理。
您可以外部化 xml: http://beanvalidation.org/1.1/spec/#xml-config
或者,如果您只想在 AngularJS 中使用 JSR-303 注释元数据,您可以查看 Valdr 和 Valdr BeanValidation:https: //github.com/netceteragroup/valdr https://github.com/netceteragroup/valdr- bean 验证
| 归档时间: |
|
| 查看次数: |
6003 次 |
| 最近记录: |