mirror of
https://github.com/whyour/qinglong.git
synced 2026-02-12 14:05:38 +08:00
33 lines
940 B
JavaScript
33 lines
940 B
JavaScript
import CronExpressionParser from 'cron-parser';
|
|
|
|
// Replicate the validation logic
|
|
const validateSchedule = (value) => {
|
|
try {
|
|
if (CronExpressionParser.parse(value).hasNext()) {
|
|
return { valid: true };
|
|
}
|
|
} catch (e) {
|
|
return { valid: false, error: e.message };
|
|
}
|
|
return { valid: false, error: 'hasNext() returned false' };
|
|
};
|
|
|
|
// Test cases from the issue
|
|
const testExpressions = [
|
|
'*/8 * * * *', // 5 fields (every 8 minutes)
|
|
'*/8 * * * * ?', // 6 fields with seconds (every 8 seconds) - FROM THE IMAGE
|
|
'0 */8 * * * *', // 6 fields with seconds (every 8 minutes at 0 seconds)
|
|
'*/5 * * * * *', // 6 fields (every 5 seconds)
|
|
];
|
|
|
|
console.log('Testing validation logic:\n');
|
|
|
|
testExpressions.forEach(expr => {
|
|
const result = validateSchedule(expr);
|
|
if (result.valid) {
|
|
console.log(`✓ "${expr}" - VALID`);
|
|
} else {
|
|
console.log(`✗ "${expr}" - INVALID: ${result.error}`);
|
|
}
|
|
});
|