CE-1402 add instance validation to CaseChangeBehavior

This commit is contained in:
2024-06-25 08:15:59 -05:00
parent b2cf1cc83b
commit dc84a9ef55
2 changed files with 56 additions and 0 deletions

View File

@ -23,6 +23,8 @@ package com.kingsrook.qqq.backend.core.model.metadata.fields;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
@ -140,4 +142,31 @@ public enum CaseChangeBehavior implements FieldBehavior<CaseChangeBehavior>, Fie
return (false);
}
/*******************************************************************************
**
*******************************************************************************/
@Override
public List<String> validateBehaviorConfiguration(QTableMetaData tableMetaData, QFieldMetaData fieldMetaData)
{
if(this == NONE)
{
return Collections.emptyList();
}
List<String> errors = new ArrayList<>();
String errorSuffix = " field [" + fieldMetaData.getName() + "] in table [" + tableMetaData.getName() + "]";
if(fieldMetaData.getType() != null)
{
if(!fieldMetaData.getType().isStringLike())
{
errors.add("A CaseChange was a applied to a non-String-like field:" + errorSuffix);
}
}
return (errors);
}
}