From 33cd943ff924e33e8d5a33bd3623c4ee239b8fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Mon, 21 Sep 2026 15:11:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=95=BF=E5=BA=A6=E4=B8=8E=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E8=B6=8A=E7=95=8C=E6=94=B9=E7=94=A8=E7=8B=AC=E7=AB=8B=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=8E=9F=E5=9B=A0=20-=20TripoValidationReason=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20OutOfRange=EF=BC=8C=E4=B8=8E=E3=80=8C?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=BB=84=E5=90=88=E4=BA=92=E6=96=A5=E3=80=8D?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=85=B1=E7=94=A8=20InvalidCombination=20-?= =?UTF-8?q?=20prompt=20=E8=B6=85=201024=20=E5=AD=97=E7=AC=A6=E3=80=81negat?= =?UTF-8?q?ive=5Fprompt=20=E8=B6=85=20255=20=E5=AD=97=E7=AC=A6=E6=94=B9?= =?UTF-8?q?=E6=8A=A5=20OutOfRange=20-=20face=5Flimit=20=E8=B6=8A=E7=95=8C?= =?UTF-8?q?=E5=B1=9E=E5=90=8C=E4=B8=80=E7=B1=BB=E8=8C=83=E5=9B=B4=E9=94=99?= =?UTF-8?q?=E8=AF=AF=EF=BC=8C=E4=B8=80=E5=B9=B6=E6=94=B9=E6=8A=A5=20OutOfR?= =?UTF-8?q?ange=EF=BC=8C=E8=B0=83=E7=94=A8=E6=96=B9=E5=8F=AF=E6=8C=89?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E5=88=86=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server-rs/crates/platform-tripo/src/common/error.rs | 3 +++ server-rs/crates/platform-tripo/src/common/validation.rs | 2 +- .../crates/platform-tripo/src/text_to_model/validation.rs | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server-rs/crates/platform-tripo/src/common/error.rs b/server-rs/crates/platform-tripo/src/common/error.rs index e599b1d49..6697c95c9 100644 --- a/server-rs/crates/platform-tripo/src/common/error.rs +++ b/server-rs/crates/platform-tripo/src/common/error.rs @@ -62,6 +62,8 @@ impl fmt::Display for TripoField { pub enum TripoValidationReason { Required, InvalidCombination, + /// 取值超出该字段允许的长度或范围,与「参数组合互斥」区分开。 + OutOfRange, } impl fmt::Display for TripoValidationReason { @@ -69,6 +71,7 @@ impl fmt::Display for TripoValidationReason { f.write_str(match self { Self::Required => "required", Self::InvalidCombination => "invalid combination", + Self::OutOfRange => "out of range", }) } } diff --git a/server-rs/crates/platform-tripo/src/common/validation.rs b/server-rs/crates/platform-tripo/src/common/validation.rs index 00dfaa4f6..ee19b7da8 100644 --- a/server-rs/crates/platform-tripo/src/common/validation.rs +++ b/server-rs/crates/platform-tripo/src/common/validation.rs @@ -173,7 +173,7 @@ pub(crate) fn validate_generation_options( if face_limit < minimum || face_limit > maximum { return Err(invalid( Some(TripoField::FaceLimit), - TripoValidationReason::InvalidCombination, + TripoValidationReason::OutOfRange, &format!( "face_limit must be between {minimum} and {maximum} for the selected model and options" ), diff --git a/server-rs/crates/platform-tripo/src/text_to_model/validation.rs b/server-rs/crates/platform-tripo/src/text_to_model/validation.rs index 472379133..1c3d6751e 100644 --- a/server-rs/crates/platform-tripo/src/text_to_model/validation.rs +++ b/server-rs/crates/platform-tripo/src/text_to_model/validation.rs @@ -16,7 +16,7 @@ pub fn validate_text_to_model_params(params: &Model3dTextToModelParams) -> Resul if params.prompt.chars().count() > 1024 { return Err(TripoError::InvalidParameters { field: Some(TripoField::Prompt), - reason: TripoValidationReason::InvalidCombination, + reason: TripoValidationReason::OutOfRange, message: "prompt must not exceed 1024 characters".into(), }); } @@ -27,7 +27,7 @@ pub fn validate_text_to_model_params(params: &Model3dTextToModelParams) -> Resul { return Err(TripoError::InvalidParameters { field: Some(TripoField::NegativePrompt), - reason: TripoValidationReason::InvalidCombination, + reason: TripoValidationReason::OutOfRange, message: "negative_prompt must not exceed 255 characters".into(), }); }