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)