diff --git a/ui-admin/src/js/components/common/grid/GridExports.jsx b/ui-admin/src/js/components/common/grid/GridExports.jsx
index 6df9603d582cc65716dfd70c7a27440b0b849629..db689007219e4f9b6fa979c3c41236aa05d4cde3 100644
--- a/ui-admin/src/js/components/common/grid/GridExports.jsx
+++ b/ui-admin/src/js/components/common/grid/GridExports.jsx
@@ -38,6 +38,7 @@ class GridExports extends React.PureComponent {
     super(props)
     this.state = {
       el: null,
+      validate: false,
       importCompatibleError: null
     }
     this.handleOpen = this.handleOpen.bind(this)
@@ -57,6 +58,7 @@ class GridExports extends React.PureComponent {
 
     this.setState({
       el: null,
+      validate: false,
       importCompatibleError: null
     })
 
@@ -91,16 +93,23 @@ class GridExports extends React.PureComponent {
   handleExport() {
     const { onExport } = this.props
 
-    if (this.validate()) {
-      this.handleClose()
-      if (onExport) {
-        onExport()
+    this.setState({ validate: true }, () => {
+      if (this.validate()) {
+        this.handleClose()
+        if (onExport) {
+          onExport()
+        }
       }
-    }
+    })
   }
 
   validate() {
     const { exportable } = this.props
+    const { validate } = this.state
+
+    if (!validate) {
+      return true
+    }
 
     const isXLSExport =
       exportable.fileFormat === GridExportOptions.FILE_FORMAT.XLS