Skip to content

Support ConstraintValidator#initialize #87

@pfichtner

Description

@pfichtner
public class IbanValidator implements ConstraintValidator<IbanOfType, String> {

	private Pattern pattern;

	@Override
	public void initialize(IbanOfType type) {
		pattern = Pattern.compile(getPattern(type.value()));
	}

	private String getPattern(IbanOfType.Type type) {
		return switch (type) {
		// "IBAN muss eine deutsche IBAN (DE + 20 Ziffern) sein"
		case GERMAN -> "^DE\\d{20}$";
		// "IBAN muss eine valide IBAN sein"
		case INTERNATIONAL -> "^[A-Z]{2}\\d{2}[A-Z0-9]{11,30}$";
		};
	}

	@Override
	public boolean isValid(String value, ConstraintValidatorContext context) {
		return pattern.matcher(value).matches();
	}

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions