Interface ValidationGroup

All Known Implementing Classes:
DefaultGroups.Create, DefaultGroups.Default, DefaultGroups.Draft, DefaultGroups.Update

public interface ValidationGroup
Marker interface for validation groups.

Validation groups allow different validation rules for different scenarios. For example, you might have different required fields when creating vs. updating a record.

To create a custom validation group, simply define a class that implements this interface:


 public class UserGroups
 {
     public static class Registration implements ValidationGroup {}
     public static class ProfileUpdate implements ValidationGroup {}
     public static class AdminEdit implements ValidationGroup {}
 }
 

Usage:


 // Apply validators to specific groups
 ValidatedInput<String> email = new ValidatedInput<>(emailInput, emailError)
     .addValidator(new RequiredValidator<String>()
         .forGroups(UserGroups.Registration.class))  // Only required on registration
     .addValidator(new EmailValidator<>()
         .forGroups(DefaultGroups.Default.class));   // Always validate format

 // Validate for a specific group
 ValidationResult result = form.validate(event, UserGroups.Registration.class);
 
Since:
2025
Version:
1.0
Author:
Marvin P. Warble Jr.
See Also: