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ő."),
};
}
+ 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;
@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
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;
}