diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
index cefba0e7c..1fe6a3db4 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java
@@ -18,6 +18,7 @@
 import org.jetbrains.annotations.NotNull;
 
 public class NewBlockAction extends AnAction {
+
     public static final String ACTION_NAME = "Magento 2 Block";
     public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Block";
 
@@ -26,23 +27,24 @@ public NewBlockAction() {
     }
 
     @Override
-    public void actionPerformed(@NotNull final AnActionEvent event) {
+    public void actionPerformed(final @NotNull AnActionEvent event) {
         final DataContext dataContext = event.getDataContext();
         final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext);
+
         if (view == null) {
             return;
         }
 
         final Project project = CommonDataKeys.PROJECT.getData(dataContext);
+
         if (project == null) {
             return;
         }
-
         final PsiDirectory directory = view.getOrChooseDirectory();
+
         if (directory == null) {
             return;
         }
-
         NewBlockDialog.open(project, directory);
     }
 
@@ -51,4 +53,3 @@ public boolean isDumbAware() {
         return false;
     }
 }
-
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
index 277636830..9460114bd 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java
@@ -16,8 +16,8 @@
 import com.magento.idea.magento2plugin.MagentoIcons;
 import com.magento.idea.magento2plugin.actions.generation.dialog.NewControllerDialog;
 
-@SuppressWarnings({"PMD.OnlyOneReturn", "PMD.FieldNamingConventions"})
 public class NewControllerAction extends AnAction {
+
     public static final String ACTION_NAME = "Magento 2 Controller";
     public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Controller";
 
@@ -36,13 +36,13 @@ public void actionPerformed(final AnActionEvent event) {
         if (view == null) {
             return;
         }
-
         final Project project = CommonDataKeys.PROJECT.getData(dataContext);
+
         if (project == null) {
             return;
         }
-
         final PsiDirectory directory = view.getOrChooseDirectory();
+
         if (directory == null) {
             return;
         }
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java
index c9908eac8..175d7ef66 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java
@@ -15,8 +15,8 @@
 import com.magento.idea.magento2plugin.MagentoIcons;
 import com.magento.idea.magento2plugin.actions.generation.dialog.NewCronGroupDialog;
 
-@SuppressWarnings({"PMD.OnlyOneReturn"})
 public class NewCronGroupAction extends com.intellij.openapi.actionSystem.AnAction {
+
     public static final String ACTION_NAME = "Magento 2 Cron Group";
     public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Group";
 
@@ -35,18 +35,16 @@ public void actionPerformed(final AnActionEvent event) {
         if (view == null) {
             return;
         }
-
         final Project project = CommonDataKeys.PROJECT.getData(dataContext);
+
         if (project == null) {
             return;
         }
-
         final PsiDirectory directory = view.getOrChooseDirectory();
 
         if (directory == null) {
             return;
         }
-
         NewCronGroupDialog.open(project, directory);
     }
 
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
index 538df7a1e..948174758 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java
@@ -17,10 +17,10 @@
 import com.magento.idea.magento2plugin.actions.generation.dialog.NewCronjobDialog;
 import org.jetbrains.annotations.NotNull;
 
-@SuppressWarnings({"PMD.FieldNamingConventions", "PMD.OnlyOneReturn"})
 public class NewCronjobAction extends AnAction {
-    public static String ACTION_NAME = "Magento 2 Cron Job";
-    public static String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Job";
+
+    public static final String ACTION_NAME = "Magento 2 Cron Job";
+    public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Job";
 
     public NewCronjobAction() {
         super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE);
@@ -34,17 +34,16 @@ public void actionPerformed(final @NotNull AnActionEvent event) {
         if (view == null) {
             return;
         }
-
         final Project project = CommonDataKeys.PROJECT.getData(dataContext);
+
         if (project == null) {
             return;
         }
-
         final PsiDirectory directory = view.getOrChooseDirectory();
+
         if (directory == null) {
             return;
         }
-
         NewCronjobDialog.open(project, directory);
     }
 
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
index 4792ae19d..347e6b5c2 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java
@@ -2,10 +2,15 @@
  * Copyright © Magento, Inc. All rights reserved.
  * See COPYING.txt for license details.
  */
+
 package com.magento.idea.magento2plugin.actions.generation;
 
 import com.intellij.ide.IdeView;
-import com.intellij.openapi.actionSystem.*;
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.CommonDataKeys;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.LangDataKeys;
 import com.intellij.openapi.project.Project;
 import com.intellij.psi.PsiDirectory;
 import com.magento.idea.magento2plugin.MagentoIcons;
@@ -13,31 +18,32 @@
 import org.jetbrains.annotations.NotNull;
 
 public class NewGraphQlResolverAction extends AnAction {
-    public static String ACTION_NAME = "Magento 2 GraphQL Resolver";
-    public static String ACTION_DESCRIPTION = "Create a new Magento 2 GraphQL Resolver";
 
-    NewGraphQlResolverAction() {
+    public static final String ACTION_NAME = "Magento 2 GraphQL Resolver";
+    public static final String ACTION_DESCRIPTION = "Create a new Magento 2 GraphQL Resolver";
+
+    public NewGraphQlResolverAction() {
         super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE);
     }
 
     @Override
-    public void actionPerformed(@NotNull AnActionEvent e) {
-        DataContext dataContext = e.getDataContext();
-        IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext);
+    public void actionPerformed(final @NotNull AnActionEvent event) {
+        final DataContext dataContext = event.getDataContext();
+        final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext);
+
         if (view == null) {
             return;
         }
+        final Project project = CommonDataKeys.PROJECT.getData(dataContext);
 
-        Project project = CommonDataKeys.PROJECT.getData(dataContext);
         if (project == null) {
             return;
         }
+        final PsiDirectory directory = view.getOrChooseDirectory();
 
-        PsiDirectory directory = view.getOrChooseDirectory();
         if (directory == null) {
             return;
         }
-
         NewGraphQlResolverDialog.open(project, directory);
     }
 
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
index 7d4f8c075..53e72f68d 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java
@@ -2,10 +2,15 @@
  * Copyright © Magento, Inc. All rights reserved.
  * See COPYING.txt for license details.
  */
+
 package com.magento.idea.magento2plugin.actions.generation;
 
 import com.intellij.ide.IdeView;
-import com.intellij.openapi.actionSystem.*;
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.CommonDataKeys;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.LangDataKeys;
 import com.intellij.openapi.project.Project;
 import com.intellij.psi.PsiDirectory;
 import com.magento.idea.magento2plugin.MagentoIcons;
@@ -13,31 +18,32 @@
 import org.jetbrains.annotations.NotNull;
 
 public class NewViewModelAction extends AnAction {
-    public static String ACTION_NAME = "Magento 2 View Model";
-    public static String ACTION_DESCRIPTION = "Create a new Magento 2 View Model";
 
-    NewViewModelAction() {
+    public static final String ACTION_NAME = "Magento 2 View Model";
+    public static final String ACTION_DESCRIPTION = "Create a new Magento 2 View Model";
+
+    public NewViewModelAction() {
         super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE);
     }
 
     @Override
-    public void actionPerformed(@NotNull AnActionEvent e) {
-        DataContext dataContext = e.getDataContext();
-        IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext);
+    public void actionPerformed(final @NotNull AnActionEvent event) {
+        final DataContext dataContext = event.getDataContext();
+        final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext);
+
         if (view == null) {
             return;
         }
+        final Project project = CommonDataKeys.PROJECT.getData(dataContext);
 
-        Project project = CommonDataKeys.PROJECT.getData(dataContext);
         if (project == null) {
             return;
         }
+        final PsiDirectory directory = view.getOrChooseDirectory();
 
-        PsiDirectory directory = view.getOrChooseDirectory();
         if (directory == null) {
             return;
         }
-
         NewViewModelDialog.open(project, directory);
     }
 
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form
index 9689cc6a0..c460ac6fa 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form
@@ -53,7 +53,7 @@
           
         
       
-      
+      
         
         
           
@@ -85,7 +85,7 @@
           
           
             
-              
+              
                 
               
             
@@ -96,7 +96,7 @@
           
           
             
-              
+              
             
             
               
@@ -106,6 +106,22 @@
               
             
           
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
         
       
       
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java
index 6bc982cc5..44342993a 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java
@@ -7,7 +7,6 @@
 
 import com.intellij.openapi.project.Project;
 import com.intellij.psi.PsiDirectory;
-import com.intellij.psi.PsiFile;
 import com.magento.idea.magento2plugin.actions.generation.NewBlockAction;
 import com.magento.idea.magento2plugin.actions.generation.data.BlockFileData;
 import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation;
@@ -26,6 +25,7 @@
 import java.awt.event.WindowEvent;
 import javax.swing.JButton;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
@@ -33,6 +33,7 @@
 import javax.swing.KeyStroke;
 
 public class NewBlockDialog extends AbstractDialog {
+
     private final PsiDirectory baseDir;
     private final String moduleName;
     private JPanel contentPanel;
@@ -44,18 +45,18 @@ public class NewBlockDialog extends AbstractDialog {
     private static final String NAME = "name";
     private static final String DIRECTORY = "directory";
 
-    @FieldValidation(rule = RuleRegistry.NOT_EMPTY,
-            message = {NotEmptyRule.MESSAGE, NAME})
-    @FieldValidation(rule = RuleRegistry.PHP_CLASS,
-            message = {PhpClassRule.MESSAGE, NAME})
+    @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, NAME})
+    @FieldValidation(rule = RuleRegistry.PHP_CLASS, message = {PhpClassRule.MESSAGE, NAME})
     private JTextField blockName;
 
-    @FieldValidation(rule = RuleRegistry.NOT_EMPTY,
-            message = {NotEmptyRule.MESSAGE, DIRECTORY})
+    @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, DIRECTORY})
     @FieldValidation(rule = RuleRegistry.PHP_DIRECTORY,
             message = {PhpDirectoryRule.MESSAGE, DIRECTORY})
     private JTextField blockParentDir;
 
+    private JLabel blockNameErrorMessage;//NOPMD
+    private JLabel blockParentDirErrorMessage;//NOPMD
+
     /**
      * Constructor.
      *
@@ -113,12 +114,12 @@ public static void open(final Project project, final PsiDirectory directory) {
     protected void onOK() {
         if (validateFormFields()) {
             generateFile();
+            exit();
         }
-        exit();
     }
 
-    private PsiFile generateFile() {
-        return new ModuleBlockClassGenerator(new BlockFileData(
+    private void generateFile() {
+        new ModuleBlockClassGenerator(new BlockFileData(
                 getBlockDirectory(),
                 getBlockName(),
                 getModuleName(),
@@ -140,6 +141,7 @@ public String getBlockDirectory() {
 
     private void suggestBlockDirectory() {
         final String moduleIdentifierPath = getModuleIdentifierPath();
+
         if (moduleIdentifierPath == null) {
             blockParentDir.setText(BlockPhp.DEFAULT_DIR);
             return;
@@ -147,6 +149,7 @@ private void suggestBlockDirectory() {
         final String path = baseDir.getVirtualFile().getPath();
         final String[] pathParts = path.split(moduleIdentifierPath);
         final int minimumPathParts = 2;
+
         if (pathParts.length != minimumPathParts) {
             blockParentDir.setText(BlockPhp.DEFAULT_DIR);
             return;
@@ -161,14 +164,17 @@ private void suggestBlockDirectory() {
 
     private String getModuleIdentifierPath() {
         final String[]parts = moduleName.split(Package.vendorModuleNameSeparator);
+
         if (parts[0] == null || parts[1] == null || parts.length > 2) {
             return null;
         }
+
         return parts[0] + File.separator + parts[1];
     }
 
     private String getNamespace() {
         final String[]parts = moduleName.split(Package.vendorModuleNameSeparator);
+
         if (parts[0] == null || parts[1] == null || parts.length > 2) {
             return null;
         }
@@ -176,12 +182,7 @@ private String getNamespace() {
                 File.separator,
                 Package.fqnSeparator
         );
-        return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart;
-    }
 
-    @Override
-    public void onCancel() {
-        // add your code here if necessary
-        dispose();
+        return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart;
     }
 }
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form
index 59cbf84c0..5abf1a5be 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form
@@ -3,7 +3,7 @@
   
     
     
-      
+      
     
     
       
@@ -51,7 +51,7 @@
           
         
       
-      
+      
         
         
           
@@ -61,7 +61,7 @@
         
           
             
-              
+              
             
             
               
@@ -69,7 +69,7 @@
           
           
             
-              
+              
                 
               
             
@@ -79,7 +79,7 @@
           
           
             
-              
+              
             
             
               
@@ -87,7 +87,7 @@
           
           
             
-              
+              
                 
               
             
@@ -111,6 +111,30 @@
             
             
           
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
         
       
       
@@ -118,6 +142,7 @@
           
         
         
+          
           
         
         
@@ -145,6 +170,7 @@
           
         
         
+          
           
         
         
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java
index 818915cab..402cedb96 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java
@@ -33,6 +33,7 @@
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.KeyStroke;
@@ -43,6 +44,7 @@
         "PMD.ExcessiveImports"
 })
 public class NewControllerDialog extends AbstractDialog {
+
     private final String moduleName;
     private final Project project;
     private JPanel contentPane;
@@ -50,7 +52,6 @@ public class NewControllerDialog extends AbstractDialog {
     private JButton buttonCancel;
     private FilteredComboBox controllerAreaSelect;
     private FilteredComboBox httpMethodSelect;
-    private JTextField controllerParentDir;
     private JCheckBox inheritClass;
     private JPanel adminPanel;
     private JTextField acl;
@@ -64,12 +65,16 @@ public class NewControllerDialog extends AbstractDialog {
             message = {PhpDirectoryRule.MESSAGE, CONTROLLER_NAME})
     private JTextField controllerName;
 
-    @FieldValidation(rule = RuleRegistry.NOT_EMPTY,
-            message = {NotEmptyRule.MESSAGE, ACTION_NAME})
-    @FieldValidation(rule = RuleRegistry.PHP_CLASS,
-            message = {PhpClassRule.MESSAGE, ACTION_NAME})
+    @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, ACTION_NAME})
+    @FieldValidation(rule = RuleRegistry.PHP_CLASS, message = {PhpClassRule.MESSAGE, ACTION_NAME})
     private JTextField actionName;
 
+    private JTextField controllerParentDir;
+
+    private JLabel actionNameErrorMessage;//NOPMD
+    private JLabel controllerNameErrorMessage;//NOPMD
+    private JLabel controllerParentDirErrorMessage;//NOPMD
+
     /**
      * Open new dialog for adding new controller.
      *
@@ -196,8 +201,8 @@ public static void open(final Project project, final PsiDirectory directory) {
     private void onOK() {
         if (validateFormFields()) {
             generateFile();
+            exit();
         }
-        exit();
     }
 
     /**
@@ -264,11 +269,6 @@ private Boolean getIsInheritClass() {
         return inheritClass.isSelected();
     }
 
-    @Override
-    protected void onCancel() {
-        dispose();
-    }
-
     private List getAreaList() {
         return new ArrayList<>(
                 Arrays.asList(
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form
index 629d61e1e..030b9841e 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form
@@ -49,7 +49,7 @@
           
         
       
-      
+      
         
         
           
@@ -59,7 +59,7 @@
         
           
             
-              
+              
             
             
               
@@ -67,7 +67,7 @@
           
           
             
-              
+              
             
             
               
@@ -75,7 +75,7 @@
           
           
             
-              
+              
             
             
               
@@ -83,7 +83,7 @@
           
           
             
-              
+              
             
             
               
@@ -91,7 +91,7 @@
           
           
             
-              
+              
             
             
               
@@ -99,7 +99,7 @@
           
           
             
-              
+              
             
             
               
@@ -107,43 +107,43 @@
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
           
           
             
-              
+              
             
             
               
@@ -151,7 +151,7 @@
           
           
             
-              
+              
             
             
               
@@ -159,7 +159,7 @@
           
           
             
-              
+              
             
             
               
@@ -168,7 +168,7 @@
           
           
             
-              
+              
             
             
               
@@ -177,7 +177,7 @@
           
           
             
-              
+              
             
             
               
@@ -186,7 +186,7 @@
           
           
             
-              
+              
             
             
               
@@ -195,7 +195,7 @@
           
           
             
-              
+              
             
             
               
@@ -204,7 +204,7 @@
           
           
             
-              
+              
             
             
               
@@ -213,7 +213,7 @@
           
           
             
-              
+              
             
             
               
@@ -221,7 +221,7 @@
           
           
             
-              
+              
             
             
               
@@ -247,7 +247,7 @@
           
           
             
-              
+              
             
             
               
@@ -255,7 +255,7 @@
           
           
             
-              
+              
             
             
               
@@ -263,7 +263,7 @@
           
           
             
-              
+              
             
             
               
@@ -271,7 +271,7 @@
           
           
             
-              
+              
             
             
               
@@ -279,7 +279,7 @@
           
           
             
-              
+              
             
             
               
@@ -287,7 +287,7 @@
           
           
             
-              
+              
             
             
               
@@ -295,7 +295,7 @@
           
           
             
-              
+              
             
             
               
@@ -304,7 +304,7 @@
           
           
             
-              
+              
             
             
               
@@ -312,7 +312,7 @@
           
           
             
-              
+              
             
             
               
@@ -320,7 +320,7 @@
           
           
             
-              
+              
             
             
               
@@ -331,9 +331,17 @@
           
           
             
-              
+              
             
           
+          
+            
+              
+            
+            
+              
+            
+          
         
       
     
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java
index ea37a5a25..28ddbd615 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java
@@ -25,6 +25,7 @@
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JSpinner;
 import javax.swing.JTextField;
@@ -37,6 +38,7 @@
         "PMD.ExcessiveImports,"
 })
 public class NewCronGroupDialog extends AbstractDialog {
+
     private final String moduleName;
     private final Project project;
     private JPanel contentPanel;
@@ -44,10 +46,8 @@ public class NewCronGroupDialog extends AbstractDialog {
     private JButton buttonCancel;
     private static final String NAME = "name";
 
-    @FieldValidation(rule = RuleRegistry.NOT_EMPTY,
-            message = {NotEmptyRule.MESSAGE, NAME})
-    @FieldValidation(rule = RuleRegistry.IDENTIFIER,
-            message = {IdentifierRule.MESSAGE, NAME})
+    @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, NAME})
+    @FieldValidation(rule = RuleRegistry.IDENTIFIER, message = {IdentifierRule.MESSAGE, NAME})
     private JTextField cronGroupName;
 
     private JSpinner scheduleGenerateEvery;
@@ -65,6 +65,8 @@ public class NewCronGroupDialog extends AbstractDialog {
     private FilteredComboBox useSeparateProcess;
     private JCheckBox addUseSeparateProcess;
 
+    private JLabel cronGroupNameErrorMessage;//NOPMD
+
     /**
      * New CRON group dialogue constructor.
      *
@@ -142,13 +144,8 @@ public static void open(final Project project, final PsiDirectory directory) {
     private void onOK() {
         if (validateFormFields()) {
             generateFile();
+            exit();
         }
-        exit();
-    }
-
-    @Override
-    protected void onCancel() {
-        dispose();
     }
 
     private void generateFile() {
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form
index bfb797c3d..1da079a05 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form
@@ -3,9 +3,11 @@
   
     
     
-      
+      
     
-    
+    
+      
+    
     
     
       
@@ -49,7 +51,7 @@
           
         
       
-      
+      
         
         
           
@@ -78,7 +80,7 @@
           
           
             
-              
+              
             
             
               
@@ -87,7 +89,7 @@
           
           
             
-              
+              
             
             
               
@@ -95,12 +97,12 @@
           
           
             
-              
+              
             
           
           
             
-              
+              
             
             
               
@@ -109,16 +111,16 @@
           
           
             
-              
+              
             
             
               
             
           
-          
+          
             
             
-              
+              
             
             
             
@@ -162,12 +164,20 @@
                   
                 
               
+              
+                
+                  
+                
+                
+                  
+                
+              
             
           
           
             
             
-              
+              
             
             
               
@@ -194,7 +204,7 @@
           
           
             
-              
+              
             
             
               
@@ -202,7 +212,7 @@
           
           
             
-              
+              
             
             
               
@@ -210,7 +220,7 @@
           
           
             
-              
+              
             
             
               
@@ -218,7 +228,7 @@
           
           
             
-              
+              
                 
               
             
@@ -226,7 +236,7 @@
           
           
             
-              
+              
                 
               
             
@@ -235,6 +245,46 @@
               
             
           
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
         
       
     
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java
index dee2accf1..a8f71b0f1 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java
@@ -35,11 +35,13 @@
 import java.util.List;
 import javax.swing.JButton;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
 import javax.swing.KeyStroke;
+import org.jetbrains.annotations.NotNull;
 
 @SuppressWarnings({
         "PMD.UncommentedEmptyMethodBody",
@@ -54,6 +56,11 @@
         "PMD.ExcessiveImports",
 })
 public class NewCronjobDialog extends AbstractDialog {
+
+    private final Project project;
+    private final String moduleName;
+    private final CamelCaseToSnakeCase camelCaseToSnakeCase;
+
     private JPanel contentPane;
     private JButton buttonOK;
     private JButton buttonCancel;
@@ -64,6 +71,7 @@ public class NewCronjobDialog extends AbstractDialog {
     private JRadioButton atMidnightRadioButton;
     private JPanel fixedSchedulePanel;
     private JPanel configurableSchedulePanel;
+
     private static final String CLASS_NAME = "class name";
     private static final String DIRECTORY = "directory";
     private static final String CRON_NAME = "name";
@@ -107,9 +115,12 @@ public class NewCronjobDialog extends AbstractDialog {
             message = {NotEmptyRule.MESSAGE, CRON_GROUP})
     private FilteredComboBox cronGroupComboBox;
 
-    private Project project;
-    private String moduleName;
-    private CamelCaseToSnakeCase camelCaseToSnakeCase;
+    private JLabel cronjobClassNameFieldErrorMessage;//NOPMD
+    private JLabel cronjobDirectoryFieldErrorMessage;//NOPMD
+    private JLabel cronjobNameFieldErrorMessage;//NOPMD
+    private JLabel cronGroupComboBoxErrorMessage;//NOPMD
+    private JLabel cronjobScheduleFieldErrorMessage;//NOPMD
+    private JLabel configPathFieldErrorMessage;//NOPMD
 
     /**
      * Open a new cronjob generation dialog form.
@@ -117,7 +128,7 @@ public class NewCronjobDialog extends AbstractDialog {
      * @param project Project
      * @param directory Directory
      */
-    public NewCronjobDialog(final Project project, final PsiDirectory directory) {
+    public NewCronjobDialog(final @NotNull Project project, final @NotNull PsiDirectory directory) {
         super();
         this.project = project;
         this.moduleName = GetModuleNameByDirectoryUtil.execute(directory, project);
@@ -246,11 +257,6 @@ public String getCronjobScheduleConfigPath() {
         return this.configPathField.getText().trim();
     }
 
-    @Override
-    protected void onCancel() {
-        dispose();
-    }
-
     private void createUIComponents() {
         final List cronGroups = CronGroupIndex.getInstance(project).getGroups();
 
@@ -285,10 +291,8 @@ private String suggestCronjobName(final String cronjobClassname) {
      */
     private void onOK() {
         if (!validateFormFields()) {
-            exit();
             return;
         }
-
         final NamespaceBuilder namespaceBuilder = new NamespaceBuilder(
                 this.getCronjobModule(),
                 this.getCronjobClassName(),
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form
index f16356523..7ad64638b 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form
@@ -7,12 +7,12 @@
     
     
       
-      
+      
       
     
     
     
-      
+      
         
         
           
@@ -44,7 +44,7 @@
           
           
             
-              
+              
                 
               
             
@@ -55,7 +55,7 @@
           
           
             
-              
+              
             
             
               
@@ -65,6 +65,22 @@
               
             
           
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
         
       
       
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java
index 2cb558795..5990542f3 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java
@@ -7,7 +7,6 @@
 
 import com.intellij.openapi.project.Project;
 import com.intellij.psi.PsiDirectory;
-import com.intellij.psi.PsiFile;
 import com.magento.idea.magento2plugin.actions.generation.NewGraphQlResolverAction;
 import com.magento.idea.magento2plugin.actions.generation.data.GraphQlResolverFileData;
 import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation;
@@ -26,11 +25,14 @@
 import java.awt.event.WindowEvent;
 import javax.swing.JButton;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.KeyStroke;
+import org.jetbrains.annotations.NotNull;
 
 public class NewGraphQlResolverDialog extends AbstractDialog {
+
     private final PsiDirectory baseDir;
     private final String moduleName;
     private JPanel contentPanel;
@@ -52,13 +54,19 @@ public class NewGraphQlResolverDialog extends AbstractDialog {
             message = {PhpDirectoryRule.MESSAGE, PARENT_DIRECTORY})
     private JTextField graphQlResolverParentDir;
 
+    private JLabel graphQlResolverClassNameErrorMessage;//NOPMD
+    private JLabel graphQlResolverParentDirErrorMessage;//NOPMD
+
     /**
      * Constructor.
      *
      * @param project Project
      * @param directory PsiDirectory
      */
-    public NewGraphQlResolverDialog(final Project project, final PsiDirectory directory) {
+    public NewGraphQlResolverDialog(
+            final @NotNull Project project,
+            final @NotNull PsiDirectory directory
+    ) {
         super();
 
         this.project = project;
@@ -111,12 +119,12 @@ public static void open(final Project project, final PsiDirectory directory) {
     protected void onOK() {
         if (validateFormFields()) {
             generateFile();
+            exit();
         }
-        exit();
     }
 
-    private PsiFile generateFile() {
-        return new ModuleGraphQlResolverClassGenerator(new GraphQlResolverFileData(
+    private void generateFile() {
+        new ModuleGraphQlResolverClassGenerator(new GraphQlResolverFileData(
                 getGraphQlResolverDirectory(),
                 getGraphQlResolverClassName(),
                 getModuleName(),
@@ -182,10 +190,4 @@ private String getNamespace() {
     private String getGraphQlResolverClassFqn() {
         return getNamespace().concat(Package.fqnSeparator).concat(getGraphQlResolverClassName());
     }
-
-    @Override
-    public void onCancel() {
-        // add your code here if necessary
-        dispose();
-    }
 }
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form
index 88c8a9b83..fa05e157a 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form
@@ -7,12 +7,12 @@
     
     
       
-      
+      
       
     
     
     
-      
+      
         
         
           
@@ -22,7 +22,7 @@
         
           
             
-              
+              
                 
               
             
@@ -44,7 +44,7 @@
           
           
             
-              
+              
                 
               
             
@@ -55,7 +55,7 @@
           
           
             
-              
+              
             
             
               
@@ -65,6 +65,22 @@
               
             
           
+          
+            
+              
+            
+            
+              
+            
+          
+          
+            
+              
+            
+            
+              
+            
+          
         
       
       
diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java
index 77fea5829..283004fa2 100644
--- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java
+++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java
@@ -7,7 +7,6 @@
 
 import com.intellij.openapi.project.Project;
 import com.intellij.psi.PsiDirectory;
-import com.intellij.psi.PsiFile;
 import com.magento.idea.magento2plugin.actions.generation.NewViewModelAction;
 import com.magento.idea.magento2plugin.actions.generation.data.ViewModelFileData;
 import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation;
@@ -28,13 +27,17 @@
 import java.awt.event.WindowEvent;
 import javax.swing.JButton;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.KeyStroke;
 
 public class NewViewModelDialog extends AbstractDialog {
+
     private static final String VIEW_MODEL_NAME = "View Model Name";
     private static final String VIEW_MODEL_DIR = "View Model Directory";
+
+    private final Project project;
     private final PsiDirectory baseDir;
     private final String moduleName;
 
@@ -58,7 +61,8 @@ public class NewViewModelDialog extends AbstractDialog {
             message = {DirectoryRule.MESSAGE, VIEW_MODEL_DIR})
     private JTextField viewModelParentDir;
 
-    private final Project project;
+    private JLabel viewModelNameErrorMessage;//NOPMD
+    private JLabel viewModelParentDirErrorMessage;//NOPMD
 
     /**
      * Constructor.
@@ -119,12 +123,12 @@ public static void open(final Project project, final PsiDirectory directory) {
     protected void onOK() {
         if (validateFormFields()) {
             generateFile();
+            exit();
         }
-        exit();
     }
 
-    private PsiFile generateFile() {
-        return new ModuleViewModelClassGenerator(new ViewModelFileData(
+    private void generateFile() {
+        new ModuleViewModelClassGenerator(new ViewModelFileData(
                 getViewModelDirectory(),
                 getViewModelName(),
                 getModuleName(),
@@ -185,10 +189,4 @@ private String getNamespace() {
         );
         return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart;
     }
-
-    @Override
-    public void onCancel() {
-        // add your code here if necessary
-        dispose();
-    }
 }