Validators modified
authorVásáry Dániel <vasary@elgekko.net>
Thu, 15 Feb 2024 21:12:13 +0000 (22:12 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Thu, 15 Feb 2024 21:12:13 +0000 (22:12 +0100)
lis-ui/src/main/java/hu/user/lis/ui/editor/validator/InvoiceFormValidator.java
lis-ui/src/main/java/hu/user/lis/ui/editor/validator/PartnerFormValidator.java

index ab86a6f1cee3f5fb4b22c04734ba49d7135c428b..70dabed0799739aa20a008e93173c16f638cddb8 100644 (file)
@@ -13,8 +13,9 @@ public class InvoiceFormValidator extends FormValidator<Invoice> {
                 validator(entity.getPartner(), this::validateNotNull, "A 'Partner' kitöltése kötelező."),
                 validator(entity, this::validateHumanId, "A 'Sorszám' kitöltése kötelező."),
                 validator(entity.getCurrency(), this::validateNotNull, "A 'Pénznem' kitöltése kötelező."),
-                validator(entity.getNetAmount(), this::validateDouble, "A 'Nettó összeg' kitöltése kötelező."),
-                validator(entity.getGrossAmount(), this::validateDouble, "A 'Bruttó összeg' kitöltése kötelező."),
+                validator(entity, this::validatePaymentAmounts, "A 'Nettó összeg' értéke nem lehet nagyobb a 'Bruttó összeg' értékénél."),
+//                validator(entity.getNetAmount(), this::validateDouble, "A 'Nettó összeg' kitöltése kötelező."),
+//                validator(entity.getGrossAmount(), this::validateDouble, "A 'Bruttó összeg' kitöltése kötelező."),
 //                validator(entity.getVatAmount(), this::validateDouble, "Az 'ÁFA' kitöltése kötelező."),
                 validator(entity, this::validateCreateDate, "Az 'Kiállítás dátuma' kitöltése kötelező."),
                 validator(entity, this::validateCompletionDate, "A 'Teljesítés dátuma' kitöltése kötelező."),
@@ -25,6 +26,14 @@ public class InvoiceFormValidator extends FormValidator<Invoice> {
         };
     }
 
+    private boolean validatePaymentAmounts(Object data) {
+        if (data instanceof Invoice) {
+            Invoice entity = (Invoice) data;
+            return entity.getNetAmount() <= entity.getGrossAmount();
+        }
+        return false;
+    }
+
     private boolean validateCreateAndPaymentDates(Object data) {
         if (data instanceof Invoice) {
             Invoice entity = (Invoice) data;
index 33517233da6c501121336377a80bbe048045e32a..206176482cbe471c7dc896db3be7aeb1f9a71628 100644 (file)
@@ -9,14 +9,22 @@ import java.util.regex.Pattern;
 @Component
 public class PartnerFormValidator extends FormValidator<Partner> {
     private static final String VAT_NR_PATTERN = "^\\d{8}-[1-5]-(0[2-9]|[1,3]\\d|20|2[2-9]|4[0-4]|51)$";
+
+    private static final String COMMUNITY_VAT_NR_PATTERN = "^(ATU\\d{8}|BE0\\d{9}|BG\\d{9}|CY\\d{8}L|CZ\\d{8,10}|DE\\d{9}|DK\\d{8}|EE\\d{9}|EL\\d{9}|ESX\\d{7}X|FI\\d{8}|FRXX\\d{9}|GB\\d{9}|GB\\d{12}|GBGD\\d{3}|GBHA\\d{3}|HR\\d{11}|HU\\d{8}|IE5S\\d{5}L|IE\\d{7}WI|IT\\d{11}|LT\\d{9}|LT\\d{12}|LU\\d{8}|LV\\d{11}|MT\\d{8}|NL\\d{9}B\\d{2}|PL\\d{10}|PT\\d{9}|RO\\d{9}|SE\\d{12}|SI\\d{8}|SK\\d{10})?$";
+
     private static final String SIMPLE_VAT_NR_PATTERN = "^\\d{8}$";
+
     private Pattern vatNrPattern;
+
     private Pattern simpleVatNrPattern;
 
+    private Pattern communityVatNrPattern;
+
     @PostConstruct
     public void postConstruct() {
         vatNrPattern = Pattern.compile(VAT_NR_PATTERN);
         simpleVatNrPattern = Pattern.compile(SIMPLE_VAT_NR_PATTERN);
+        communityVatNrPattern = Pattern.compile(COMMUNITY_VAT_NR_PATTERN);
     }
 
     @Override
@@ -32,7 +40,8 @@ public class PartnerFormValidator extends FormValidator<Partner> {
     private boolean validateVatNumber(Object data) {
         if (data instanceof String) {
             return vatNrPattern.matcher(String.valueOf(data)).matches() ||
-                    simpleVatNrPattern.matcher(String.valueOf(data)).matches();
+                    simpleVatNrPattern.matcher(String.valueOf(data)).matches() ||
+                    communityVatNrPattern.matcher(String.valueOf(data)).matches();
         }
         return false;
     }