fix(cron): 用中文说明替代解析器原始报错
- 后端 CronPreviewError 增加 user_message,预览与任务保存共用;解析器英文原文只写日志 - 针对「0/2」这类单数字步长给出具体改法(*/2 或 1-10/2) - 前端预览面板用警告图标 + 中文提示展示,网络异常回退通用文案,Cron 输入同步 aria-invalid
This commit is contained in:
@@ -166,14 +166,15 @@ fn validate_common(
|
||||
})?;
|
||||
|
||||
let cron = Cron::from_str(cron_expression).map_err(|error| {
|
||||
crate::error::ApiError::validation("cron", format!("Cron 表达式无效: {error}"))
|
||||
tracing::debug!(error = %error, "invalid cron expression");
|
||||
let message =
|
||||
crate::cron::CronPreviewError::InvalidExpression(error.to_string()).user_message();
|
||||
crate::error::ApiError::validation("cron", message)
|
||||
})?;
|
||||
cron.find_next_occurrence(&Utc::now(), false)
|
||||
.map_err(|error| {
|
||||
crate::error::ApiError::validation(
|
||||
"cron",
|
||||
format!("Cron 表达式没有可计算的未来执行时间: {error}"),
|
||||
)
|
||||
tracing::debug!(error = %error, "cron has no future occurrence");
|
||||
crate::error::ApiError::validation("cron", "Cron 表达式没有可计算的未来执行时间")
|
||||
})?;
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user