feat(web): 店铺必填项拦截纯空格输入,API Key 放宽到契约上限
- 店铺名称/Client ID/API Key 的 required 规则加 whitespace: true, 与服务端 trim 后非空校验对齐 - API Key 输入 maxLength 200 → 8192(packages/contracts 契约上限), 避免误拦较长的真实平台密钥 - 浏览器实测:空提交与纯空格提交均展示四条必填错误且不发请求, 正常填写创建成功
This commit is contained in:
@@ -507,7 +507,7 @@ const ShopsPage = () => {
|
||||
name="name"
|
||||
label="店铺名称"
|
||||
required
|
||||
rules={[{ required: true, message: '请输入店铺名称' }]}
|
||||
rules={[{ required: true, whitespace: true, message: '请输入店铺名称' }]}
|
||||
>
|
||||
<Input maxLength={120} placeholder="例如:Ozon 俄罗斯主店" />
|
||||
</Form.Item>
|
||||
@@ -515,7 +515,7 @@ const ShopsPage = () => {
|
||||
name="client_id"
|
||||
label="Client ID"
|
||||
required
|
||||
rules={[{ required: true, message: '请输入平台 Client ID' }]}
|
||||
rules={[{ required: true, whitespace: true, message: '请输入平台 Client ID' }]}
|
||||
>
|
||||
<Input maxLength={120} placeholder="平台后台的 Client ID" />
|
||||
</Form.Item>
|
||||
@@ -523,11 +523,12 @@ const ShopsPage = () => {
|
||||
name="api_key"
|
||||
label="API Key"
|
||||
required
|
||||
rules={[{ required: true, message: '请输入平台 API Key' }]}
|
||||
rules={[{ required: true, whitespace: true, message: '请输入平台 API Key' }]}
|
||||
extra="仅用于服务端加密保存与凭据验证,不会出现在日志或响应中"
|
||||
>
|
||||
{/* 契约上限 8192(packages/contracts/src/stores.ts),不自行收紧 */}
|
||||
<Input.Password
|
||||
maxLength={200}
|
||||
maxLength={8192}
|
||||
placeholder="平台后台的 API Key"
|
||||
autoComplete="new-password"
|
||||
/>
|
||||
@@ -604,7 +605,7 @@ const ShopsPage = () => {
|
||||
extra="留空保留现有密钥;填写后将替换并重新验证凭据"
|
||||
>
|
||||
<Input.Password
|
||||
maxLength={200}
|
||||
maxLength={8192}
|
||||
placeholder="不修改请留空"
|
||||
autoComplete="new-password"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user