validation - 验证 javax.ejb.ScheduleExpression

标签 validation jakarta-ee cronexpression

我有一个文本字段,用户可以在其中输入 cron 表达式(例如,0 */5 * * * *)。然后,我将其拆分并构建一个 javax.ejb.ScheduleExpression

现在,javax.ejb.ScheduleExpression 接受不同元素的任何字符串,无需验证。例如我可以

scheduleExpression.minute("randomText");

并被接受。如果然后尝试使用 ScheduleExpression ,我显然会遇到错误(例如,当我尝试用它创建计时器时)。

我开始编写代码来验证输入,但规则并不是那么简短和琐碎:http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html

是否有一个简单的方法(在 Java EE 中)或一个已经完成这项工作的库?

最佳答案

由于我遇到了同样的问题,我为 EJB 计时器构建了一个 Bean 验证器注释。

请随意使用它。对于所有不想或无法使用 bean 验证的人,请查看文件 CronField.java 中的正则表达式来手动验证您的字符串。

正则表达式是为“ScheduleExpression”而不是“CronExpression”设计的,因此我选择的名称可能看起来有点困惑。

如果您有改进或优化,请向我发送拉取请求或消息。

源代码可在此处获取 repository .

用法: 公开课月{

    @CheckCronField(CronField.MONTH)
    public String expression;
    ...
}

同一存储库的测试文件夹中提供了更多示例。

关于validation - 验证 javax.ejb.ScheduleExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384688/

相关文章:

java - GlassFish 4.1.1 和 Apache Felix 5.4.0

每 6 个月触发一次 Spring Cron 表达式

jquery - 使用部分 View 和 Ajax 进行 ASP.NET MVC 客户端验证

validation - GWT 中的客户端验证漏洞

eclipse - 无法通过eclipse读取JVM参数集

ubuntu - 用于 shell 的 crontab 不工作

Cron 表达式 - 每天两个不同的时间 (13 :30 and 17:40)?

css - http ://jigsaw. w3.org/css-validator/和 http ://www. css-validator.org/CSS 验证器之间的区别?

ios - 尝试验证 iOS 应用程序时出错 : iPhone/ipod info. plist : Unable to verify icon dimensions, 未找到图标。您必须定义 CFBundleIcons

java - Spring Security 和 Synchronizer Token J2EE 模式,身份验证失败时出现问题