Browse Source

add restriction on load replicas

ruiyi.jiang 2 years ago
parent
commit
63b56ac950
1 changed files with 19 additions and 6 deletions
  1. 19 6
      client/src/components/dialogs/LoadCollectionDialog.tsx

+ 19 - 6
client/src/components/dialogs/LoadCollectionDialog.tsx

@@ -51,6 +51,7 @@ const LoadCollectionDialog = (props: any) => {
   });
   });
   const [enableRelica, setEnableRelica] = useState(false);
   const [enableRelica, setEnableRelica] = useState(false);
   const [replicaToggle, setReplicaToggle] = useState(false);
   const [replicaToggle, setReplicaToggle] = useState(false);
+  const [maxQueryNode, setMaxQueryNode] = useState(1);
 
 
   // check if it is cluster
   // check if it is cluster
   useEffect(() => {
   useEffect(() => {
@@ -80,6 +81,7 @@ const LoadCollectionDialog = (props: any) => {
         setForm({
         setForm({
           replica: queryNodes.length,
           replica: queryNodes.length,
         });
         });
+        setMaxQueryNode(queryNodes.length);
         setEnableRelica(enableRelica);
         setEnableRelica(enableRelica);
       }
       }
     }
     }
@@ -130,12 +132,23 @@ const LoadCollectionDialog = (props: any) => {
 
 
   // if replica is enabled, add validation
   // if replica is enabled, add validation
   if (enableRelica) {
   if (enableRelica) {
-    inputConfig.validations?.push({
-      rule: 'require',
-      errorText: warningTrans('required', {
-        name: collectionTrans('replicaNum'),
-      }),
-    });
+    inputConfig.validations?.push(
+      {
+        rule: 'require',
+        errorText: warningTrans('required', {
+          name: collectionTrans('replicaNum'),
+        }),
+      },
+      {
+        rule: 'range',
+        errorText: warningTrans('range', { min: 1, max: maxQueryNode }),
+        extraParam: {
+          min: 1,
+          max: maxQueryNode,
+          type: 'number',
+        },
+      }
+    );
   }
   }
 
 
   // toggle enbale replica
   // toggle enbale replica