clearing-validation добавил валидацию на инициализацию валидатора
This commit is contained in:
parent
18b0c66920
commit
f7cd2307a5
3 changed files with 33 additions and 20 deletions
|
|
@ -10,6 +10,7 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
|
@ -50,6 +51,9 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
|
||||||
IErrorEnumId errorWrongDictionaryValue,
|
IErrorEnumId errorWrongDictionaryValue,
|
||||||
boolean required,
|
boolean required,
|
||||||
Function<D, IErrorEnumId>... additionalChecks) {
|
Function<D, IErrorEnumId>... additionalChecks) {
|
||||||
|
Objects.requireNonNull(errorWrongDictionaryValue, "errorWrongDictionaryValue");
|
||||||
|
if (required)
|
||||||
|
Objects.requireNonNull(errorEmptyRequiredValue, "errorEmptyRequiredValue");
|
||||||
return new DictionaryPresentRule<>(fieldName,
|
return new DictionaryPresentRule<>(fieldName,
|
||||||
getter,
|
getter,
|
||||||
dictionaryName,
|
dictionaryName,
|
||||||
|
|
@ -79,6 +83,8 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
IErrorEnumId errorWrongDictionaryValue,
|
IErrorEnumId errorWrongDictionaryValue,
|
||||||
Function<D, IErrorEnumId>... additionalChecks) {
|
Function<D, IErrorEnumId>... additionalChecks) {
|
||||||
|
Objects.requireNonNull(errorWrongDictionaryValue, "errorWrongDictionaryValue");
|
||||||
|
Objects.requireNonNull(errorEmptyRequiredValue, "errorEmptyRequiredValue");
|
||||||
return new DictionaryPresentRule<>(fieldName,
|
return new DictionaryPresentRule<>(fieldName,
|
||||||
getter,
|
getter,
|
||||||
dictionaryName,
|
dictionaryName,
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public record FieldRequiredRule<R, V>(
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
boolean required,
|
boolean required,
|
||||||
Function<V, IErrorEnumId>... additionalChecks) {
|
Function<V, IErrorEnumId>... additionalChecks) {
|
||||||
if (errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
if (required && errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
||||||
return new FieldRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, required, additionalChecks);
|
return new FieldRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, required, additionalChecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,13 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Проверка наличия связанного по Id объекта в базе
|
* Проверка наличия связанного по Id объекта в базе
|
||||||
|
*
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
* @param <V> Класс связанного объекта
|
* @param <V> Класс связанного объекта
|
||||||
*/
|
*/
|
||||||
|
|
@ -27,16 +29,16 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
|
||||||
) implements IValidationRule<ImdgValidationContext<R>> {
|
) implements IValidationRule<ImdgValidationContext<R>> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param fieldName Название поля, содержащего Id
|
* @param fieldName Название поля, содержащего Id
|
||||||
* @param idGetter Метод получения Id
|
* @param idGetter Метод получения Id
|
||||||
* @param mapName Название мапы связанного объекта (см. IMDGDistributedNames)
|
* @param mapName Название мапы связанного объекта (см. IMDGDistributedNames)
|
||||||
* @param mapClass Класс связанного объекта
|
* @param mapClass Класс связанного объекта
|
||||||
* @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое
|
* @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое
|
||||||
* @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден
|
* @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден
|
||||||
* @param required Флаг обязательности
|
* @param required Флаг обязательности
|
||||||
* @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом
|
* @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
* @param <V> Класс связанного объекта
|
* @param <V> Класс связанного объекта
|
||||||
*/
|
*/
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public static <R, V extends SpcexObjectBase> IdPresentRule<R, V> instance(String fieldName,
|
public static <R, V extends SpcexObjectBase> IdPresentRule<R, V> instance(String fieldName,
|
||||||
|
|
@ -46,7 +48,10 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
IErrorEnumId errorIdNotPresent,
|
IErrorEnumId errorIdNotPresent,
|
||||||
boolean required,
|
boolean required,
|
||||||
Function<V, IErrorEnumId> ... additionalChecks) {
|
Function<V, IErrorEnumId>... additionalChecks) {
|
||||||
|
if (required)
|
||||||
|
Objects.requireNonNull(errorEmptyRequiredValue, "errorEmptyRequiredValue");
|
||||||
|
Objects.requireNonNull(errorIdNotPresent, "errorIdNotPresent");
|
||||||
return new IdPresentRule<>(fieldName,
|
return new IdPresentRule<>(fieldName,
|
||||||
idGetter,
|
idGetter,
|
||||||
mapName,
|
mapName,
|
||||||
|
|
@ -58,15 +63,15 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param fieldName Название поля, содержащего Id
|
* @param fieldName Название поля, содержащего Id
|
||||||
* @param idGetter Метод получения Id
|
* @param idGetter Метод получения Id
|
||||||
* @param mapName Название мапы связанного объекта (см. IMDGDistributedNames)
|
* @param mapName Название мапы связанного объекта (см. IMDGDistributedNames)
|
||||||
* @param mapClass Класс связанного объекта
|
* @param mapClass Класс связанного объекта
|
||||||
* @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое
|
* @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое
|
||||||
* @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден
|
* @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден
|
||||||
* @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом
|
* @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
* @param <V> Класс связанного объекта
|
* @param <V> Класс связанного объекта
|
||||||
*/
|
*/
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public static <R, V extends SpcexObjectBase> IdPresentRule<R, V> instance(String fieldName,
|
public static <R, V extends SpcexObjectBase> IdPresentRule<R, V> instance(String fieldName,
|
||||||
|
|
@ -75,7 +80,9 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
|
||||||
Class<V> mapClass,
|
Class<V> mapClass,
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
IErrorEnumId errorIdNotPresent,
|
IErrorEnumId errorIdNotPresent,
|
||||||
Function<V, IErrorEnumId> ... additionalChecks) {
|
Function<V, IErrorEnumId>... additionalChecks) {
|
||||||
|
Objects.requireNonNull(errorEmptyRequiredValue, "errorEmptyRequiredValue");
|
||||||
|
Objects.requireNonNull(errorIdNotPresent, "errorIdNotPresent");
|
||||||
return new IdPresentRule<>(fieldName,
|
return new IdPresentRule<>(fieldName,
|
||||||
idGetter,
|
idGetter,
|
||||||
mapName,
|
mapName,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue