diff --git a/dashboard/src/routes/config/modelProvider/ProviderForm.tsx b/dashboard/src/routes/config/modelProvider/ProviderForm.tsx
index 81a9adad..87b9204c 100644
--- a/dashboard/src/routes/config/modelProvider/ProviderForm.tsx
+++ b/dashboard/src/routes/config/modelProvider/ProviderForm.tsx
@@ -209,10 +209,12 @@ export function ProviderForm({
}
}}
placeholder="例如: DeepSeek, SiliconFlow"
+ aria-invalid={formErrors.name ? true : undefined}
+ aria-describedby={formErrors.name ? 'name-error' : undefined}
className={formErrors.name ? 'border-destructive focus-visible:ring-destructive' : ''}
/>
{formErrors.name && (
- {formErrors.name}
+ {formErrors.name}
)}
@@ -249,10 +251,12 @@ export function ProviderForm({
}}
placeholder="https://api.example.com/v1"
disabled={isUsingTemplate}
+ aria-invalid={formErrors.base_url ? true : undefined}
+ aria-describedby={formErrors.base_url ? 'base-url-error' : undefined}
className={`${isUsingTemplate ? 'bg-muted cursor-not-allowed' : ''} ${formErrors.base_url ? 'border-destructive focus-visible:ring-destructive' : ''}`}
/>
{formErrors.base_url && (
- {formErrors.base_url}
+ {formErrors.base_url}
)}
{isUsingTemplate && !formErrors.base_url && (
@@ -295,6 +299,8 @@ export function ProviderForm({
}
}}
placeholder="sk-..."
+ aria-invalid={formErrors.api_key ? true : undefined}
+ aria-describedby={formErrors.api_key ? 'api-key-error' : undefined}
className={`flex-1 ${formErrors.api_key ? 'border-destructive focus-visible:ring-destructive' : ''}`}
/>