You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/06/17 10:41:36 UTC

[incubator-apisix-dashboard] branch master updated: add: routes rules (#266)

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-apisix-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 0594bf1  add: routes rules (#266)
0594bf1 is described below

commit 0594bf100c0168b89ef9d5ddc55fde9e3eba8583
Author: litesun <31...@users.noreply.github.com>
AuthorDate: Wed Jun 17 18:41:26 2020 +0800

    add: routes rules (#266)
    
    * add: routes rules
    
    * update
    
    * update: routes rules
---
 src/pages/Routes/components/Step1/MatchingRulesView.tsx  |  8 +++++++-
 src/pages/Routes/components/Step1/MetaView.tsx           |  8 +++++++-
 src/pages/Routes/components/Step1/RequestConfigView.tsx  |  8 ++++++++
 src/pages/Routes/components/Step2/RequestRewriteView.tsx | 13 +++++++++++--
 4 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/pages/Routes/components/Step1/MatchingRulesView.tsx b/src/pages/Routes/components/Step1/MatchingRulesView.tsx
index 7e9cc17..cb16bf6 100644
--- a/src/pages/Routes/components/Step1/MatchingRulesView.tsx
+++ b/src/pages/Routes/components/Step1/MatchingRulesView.tsx
@@ -163,7 +163,13 @@ const MatchingRulesView: React.FC<Props> = ({ data, disabled, onChange }) => {
         <Form.Item
           label="参数名称"
           name="name"
-          rules={[{ required: true, message: '请输入参数名称' }]}
+          rules={[
+            { required: true, message: '请输入参数名称' },
+            {
+              pattern: new RegExp(/^([a-zA-Z][a-zA-Z0-9_-]*$)/, 'g'),
+              message: '参数只支持字母、数字、-、_,并且以字母开头',
+            },
+          ]}
           extra="只支持字母和数字,并且以字母开头"
         >
           <Input placeholder={namePlaceholder} />
diff --git a/src/pages/Routes/components/Step1/MetaView.tsx b/src/pages/Routes/components/Step1/MetaView.tsx
index baac193..c9dccc6 100644
--- a/src/pages/Routes/components/Step1/MetaView.tsx
+++ b/src/pages/Routes/components/Step1/MetaView.tsx
@@ -12,7 +12,13 @@ const MetaView: React.FC<Props> = ({ disabled }) => {
       <Form.Item
         label="API 名称"
         name="name"
-        rules={[{ required: true, message: '请输入 API 名称' }]}
+        rules={[
+          { required: true, message: '请输入 API 名称' },
+          {
+            pattern: new RegExp(/^[a-zA-Z][a-zA-Z0-9_-]{0,100}$/, 'g'),
+            message: '最大长度100,仅支持英文,数字,下划线和减号,且只能以英文开头',
+          },
+        ]}
         extra="支持英文,数字,下划线和减号,且只能以英文开头"
       >
         <Input placeholder="请输入 API 名称" disabled={disabled} />
diff --git a/src/pages/Routes/components/Step1/RequestConfigView.tsx b/src/pages/Routes/components/Step1/RequestConfigView.tsx
index 2424a4a..0c341bc 100644
--- a/src/pages/Routes/components/Step1/RequestConfigView.tsx
+++ b/src/pages/Routes/components/Step1/RequestConfigView.tsx
@@ -43,6 +43,10 @@ const RequestConfigView: React.FC<Props> = ({ data, disabled, onChange }) => {
                       whitespace: true,
                       message: '请输入域名',
                     },
+                    {
+                      pattern: new RegExp(/(^\*?[a-zA-Z0-9._-]+$|^\*$)/, 'g'),
+                      message: '仅支持英文、数字、* (*只能是在开头位置),支持单个 *',
+                    },
                   ]}
                   noStyle
                 >
@@ -108,6 +112,10 @@ const RequestConfigView: React.FC<Props> = ({ data, disabled, onChange }) => {
                       whitespace: true,
                       message: '请输入请求路径',
                     },
+                    {
+                      pattern: new RegExp(/^\/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$/, 'g'),
+                      message: '以/开头,*只能在最后',
+                    },
                   ]}
                   noStyle
                 >
diff --git a/src/pages/Routes/components/Step2/RequestRewriteView.tsx b/src/pages/Routes/components/Step2/RequestRewriteView.tsx
index f53cf32..322bbd8 100644
--- a/src/pages/Routes/components/Step2/RequestRewriteView.tsx
+++ b/src/pages/Routes/components/Step2/RequestRewriteView.tsx
@@ -32,7 +32,16 @@ const RequestRewriteView: React.FC<Props> = ({ data, form, disabled, onChange })
                   <Form.Item
                     style={{ marginBottom: 0 }}
                     name={[field.name, 'host']}
-                    rules={[{ required: true, message: '请输入域名/IP' }]}
+                    rules={[
+                      { required: true, message: '请输入域名/IP' },
+                      {
+                        pattern: new RegExp(
+                          /(^([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])(\.(25[0-5]|1\d{2}|2[0-4]\d|[1-9]?\d)){3}$|^(?![0-9.]+$)([a-zA-Z0-9_-]+)(\.[a-zA-Z0-9_-]+){0,}$)/,
+                          'g',
+                        ),
+                        message: '仅支持数字或者字符 或者 . (.不是必须)',
+                      },
+                    ]}
                   >
                     <Input placeholder="域名/IP" disabled={disabled} />
                   </Form.Item>
@@ -52,7 +61,7 @@ const RequestRewriteView: React.FC<Props> = ({ data, form, disabled, onChange })
                     name={[field.name, 'weight']}
                     rules={[{ required: true, message: '请输入权重' }]}
                   >
-                    <InputNumber placeholder="权重" disabled={disabled} min={0} max={100} />
+                    <InputNumber placeholder="权重" disabled={disabled} min={0} max={1000} />
                   </Form.Item>
                 </Col>
                 <Col>