Can’t you simply create a trigger without actually executing it? You could simply give appropriate feedback in case of a ParseException. If the expression is okay, persist the expression to DB.
Edit: or simply do this:
org.quartz.CronExpression.isValidExpression(expression);