Skip to content

Commit 7b5023f

Browse files
committed
Added BoxNotEmptyRule to validate if dropdown option is selected
1 parent 284f89b commit 7b5023f

File tree

6 files changed

+27
-2
lines changed

6 files changed

+27
-2
lines changed

resources/magento2/validation.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
validator.notEmpty=The {0} field must not be empty
2+
validator.box.notEmpty=The {0} field must contain a valid selection from the dropdown
23
validator.package.validPath=Please specify a valid Magento 2 installation path
34
validator.alphaNumericCharacters=The {0} must contain letters and numbers only
45
validator.alphaNumericAndUnderscoreCharacters={0} must contain letters, numbers and underscores only

src/com/magento/idea/magento2plugin/actions/generation/dialog/AbstractDialog.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,11 @@ private String resolveFieldValueByComponentType(final Object field) {
184184
if (field instanceof JTextField) {
185185
return ((JTextField) field).isEditable() ? ((JTextField) field).getText() : null;
186186
} else if (field instanceof JComboBox) {
187-
return ((JComboBox) field).getSelectedItem().toString();
187+
try {
188+
return ((JComboBox) field).getSelectedItem().toString();
189+
} catch (NullPointerException exception) {
190+
return "";
191+
}
188192
}
189193
return null;
190194
}

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.magento.idea.magento2plugin.actions.generation.data.CrontabXmlData;
1313
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation;
1414
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.RuleRegistry;
15+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.BoxNotEmptyRule;
1516
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.ConfigPathRule;
1617
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.CronScheduleRule;
1718
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.DirectoryRule;
@@ -100,6 +101,8 @@ public class NewCronjobDialog extends AbstractDialog {
100101
message = {ConfigPathRule.MESSAGE, CONFIG_PATH})
101102
private JTextField configPathField;
102103

104+
@FieldValidation(rule = RuleRegistry.BOX_NOT_EMPTY,
105+
message = {BoxNotEmptyRule.MESSAGE, CRON_GROUP})
103106
@FieldValidation(rule = RuleRegistry.NOT_EMPTY,
104107
message = {NotEmptyRule.MESSAGE, CRON_GROUP})
105108
private FilteredComboBox cronGroupComboBox;

src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/annotation/RuleRegistry.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.AclResourceIdRule;
99
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.AlphanumericRule;
1010
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.AlphanumericWithUnderscoreRule;
11+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.BoxNotEmptyRule;
1112
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.ConfigPathRule;
1213
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.CronScheduleRule;
1314
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.DirectoryRule;
@@ -23,6 +24,7 @@
2324

2425
public enum RuleRegistry {
2526
NOT_EMPTY(NotEmptyRule.class),
27+
BOX_NOT_EMPTY(BoxNotEmptyRule.class),
2628
PHP_CLASS(PhpClassRule.class),
2729
ROUTE_ID(RouteIdRule.class),
2830
ALPHANUMERIC(AlphanumericRule.class),
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule;
2+
3+
public class BoxNotEmptyRule implements ValidationRule {
4+
public static final String MESSAGE = "validator.box.notEmpty";
5+
private static final ValidationRule INSTANCE = new BoxNotEmptyRule();
6+
7+
@Override
8+
public boolean check(final String value) {
9+
return !value.isEmpty();
10+
}
11+
12+
public static ValidationRule getInstance() {
13+
return INSTANCE;
14+
}
15+
}

src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/rule/NotEmptyRule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class NotEmptyRule implements ValidationRule {
1111

1212
@Override
1313
public boolean check(final String value) {
14-
return value.length() != 0;
14+
return !value.isEmpty();
1515
}
1616

1717
public static ValidationRule getInstance() {

0 commit comments

Comments
 (0)