diff --git a/server-rs/crates/api-server/src/raw_image.rs b/server-rs/crates/api-server/src/raw_image.rs index 15ab2c765..9b4cde5ac 100644 --- a/server-rs/crates/api-server/src/raw_image.rs +++ b/server-rs/crates/api-server/src/raw_image.rs @@ -119,6 +119,24 @@ fn prepare_request(payload: RawImageEditRequest) -> Result Result Result) -> Option { + value + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) +} + +fn validate_optional_value( + value: Option<&str>, + field: &str, + allowed: [&str; N], +) -> Result<(), AppError> { + let Some(value) = value.map(str::trim).filter(|value| !value.is_empty()) else { + return Ok(()); + }; + if allowed.contains(&value) { + return Ok(()); + } + Err(bad_request(format!("{field} 值无效"))) +} + fn decode_image(value: RawImageData, field: &str) -> Result { let mime_type = value.mime_type.trim().to_string(); if mime_type.is_empty() {