From faee537019a7c8b6ed82b0ee6c9c609f2490f34c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Thu, 15 Feb 2024 22:12:13 +0100 Subject: [PATCH] Validators modified --- .../ui/editor/validator/InvoiceFormValidator.java | 13 +++++++++++-- .../ui/editor/validator/PartnerFormValidator.java | 11 ++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/InvoiceFormValidator.java b/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/InvoiceFormValidator.java index ab86a6f..70dabed 100644 --- a/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/InvoiceFormValidator.java +++ b/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/InvoiceFormValidator.java @@ -13,8 +13,9 @@ public class InvoiceFormValidator extends FormValidator { 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 { }; } + 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; diff --git a/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/PartnerFormValidator.java b/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/PartnerFormValidator.java index 3351723..2061764 100644 --- a/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/PartnerFormValidator.java +++ b/lis-ui/src/main/java/hu/user/lis/ui/editor/validator/PartnerFormValidator.java @@ -9,14 +9,22 @@ import java.util.regex.Pattern; @Component public class PartnerFormValidator extends FormValidator { 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 { 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; } -- 2.54.0