add tenant persist code validation pattern

This commit is contained in:
amentis 2024-05-30 16:22:08 +03:00
parent f156d79ace
commit 0472e96c6d
1 changed files with 12 additions and 0 deletions

View File

@ -15,6 +15,7 @@ import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.regex.Pattern;
public class TenantPersist {
@ -115,6 +116,10 @@ public class TenantPersist {
.iff(() -> !this.isEmpty(item.getCode()))
.must(() -> this.lessEqualLength(item.getCode(), TenantEntity._codeLength))
.failOn(TenantPersist._code).failWith(messageSource.getMessage("Validation_MaxLength", new Object[]{TenantPersist._code}, LocaleContextHolder.getLocale())),
this.spec()
.iff(() -> !this.isEmpty(item.getCode()))
.must(() -> this.validateCodePattern(item.getCode()))
.failOn(TenantPersist._code).failWith(messageSource.getMessage("Validation_UnexpectedValue", new Object[]{TenantPersist._code}, LocaleContextHolder.getLocale())),
this.spec()
.must(() -> !this.isEmpty(item.getName()))
.failOn(TenantPersist._name).failWith(messageSource.getMessage("Validation_Required", new Object[]{TenantPersist._name}, LocaleContextHolder.getLocale())),
@ -128,6 +133,13 @@ public class TenantPersist {
);
}
private boolean validateCodePattern(String code){
if (this.isEmpty(code)) return false;
Pattern pattern = Pattern.compile("^[a-z0-9_]*$");
return pattern.matcher(code).matches();
}
}
}