Mat*_*teo 6 validation java-ee cronexpression
我有一个文本字段,用户可以在其中输入cron表达式(例如0 */5 * * * *).然后我拆分它并构建一个javax.ejb.ScheduleExpression.
现在javax.ejb.ScheduleExpression接受不同元素的任何String而不进行验证.我可以举个例子
scheduleExpression.minute("randomText");
Run Code Online (Sandbox Code Playgroud)
并被接受.如果然后尝试使用ScheduleExpression我显然会得到错误(例如,当我尝试用它创建一个计时器时).
我开始编写代码来验证输入,但规则不是那么简短和琐碎:http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html
是否有一种简单的方法(在Java EE中)或已经完成工作的库?
由于我遇到了同样的问题,我为 EJB 计时器构建了一个 bean 验证器注释。
随意使用它。对于所有不想或不能使用 bean 验证的人,请查看文件 CronField.java 中的正则表达式来手动验证字符串。
正则表达式是为“ScheduleExpression”而不是“CronExpression”设计的,因此我选择的名称可能看起来有点令人困惑。
如果您有改进或优化,请向我发送拉取请求或消息。
源代码可以在这个存储库中找到。
用法:公开课月{
@CheckCronField(CronField.MONTH)
public String expression;
...
}
Run Code Online (Sandbox Code Playgroud)
同一存储库的测试文件夹中提供了更多示例。
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |