Interface FieldValidator

All Known Implementing Classes:
CapacityValidator, FargateCpuMemoryValidator

public interface FieldValidator
Custom validator for configuration field cross-field validation.

Validators enable complex validation logic that depends on multiple fields or external state. They are executed after basic field-level validation (required, min, max, allowedValues, pattern).

Built-in Validators:

Usage in Annotations:


 @ConfigField(
     displayName = "Maximum Capacity",
     validators = {"CapacityValidator"}
 )
 public int maxCapacity = 10;
 

Implementing Custom Validators:


 public class CustomValidator implements FieldValidator {
     @Override
     public ValidationResult validate(
         ConfigFieldInfo field,
         Object value,
         Object config
     ) {
         // Access other fields via reflection
         // Return ValidationResult.ok() or ValidationResult.error(message)
     }
 }
 
Since:
3.0.0
  • Method Details

    • validate

      ValidationResult validate(ConfigFieldInfo field, Object value, Object config)
      Validates a field value in the context of the complete configuration.
      Parameters:
      field - metadata about the field being validated
      value - the value to validate
      config - the complete configuration object (allows accessing other fields)
      Returns:
      validation result (ok or error with message)