我有一個文本字段,用戶可以輸入一個cron表達式(例如,0 */5 * * * *
)。然後我拆分它並建立一個javax.ejb.ScheduleExpression
。驗證一個javax.ejb.ScheduleExpression
現在javax.ejb.ScheduleExpression
接受未經驗證的不同元件的任何字符串。我可以舉例
scheduleExpression.minute("randomText");
並被接受。如果然後嘗試使用ScheduleExpression,我顯然會遇到錯誤(例如,當我嘗試使用它創建計時器時)。
我開始編寫代碼來驗證輸入,但規則不是那麼短,瑣碎:http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html
有一個簡單的方法(在Java EE中),或者確實已經做的工作庫?
其實也沒什麼:所接受的語法'ScheduleExpression'是不一樣'CronExpression'。例如,'0 0 5? * L'對於'CronExpression'有效,**對於'ScheduleExpression'不是**有效。 – Matteo
同意@Matteo,這是一個好主意,但它是不正確的。 – rjdkolb