/******************************************************************************* * Copyright (c) 2015 Development Gateway, Inc and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the MIT License (MIT) * which accompanies this distribution, and is available at * https://opensource.org/licenses/MIT * * Contributors: * Development Gateway - initial API and implementation *******************************************************************************/ /** * */ package org.devgateway.toolkit.forms.validators; import java.util.Calendar; import org.apache.wicket.validation.IValidatable; import org.apache.wicket.validation.IValidator; import org.apache.wicket.validation.ValidationError; /** * @author mpostelnicu Validates an Integer input to be a valid year Returns * errors when this is not true */ public class YearValidator implements IValidator<Integer> { private static final long serialVersionUID = 1L; private boolean maxCurrentYear = false; public YearValidator maxCurrentYear() { this.maxCurrentYear = true; return this; } @Override public void validate(final IValidatable<Integer> validatable) { if (validatable.getValue() == null) { return; } if (maxCurrentYear && validatable.getValue() > Calendar.getInstance().get(Calendar.YEAR)) { ValidationError error = new ValidationError(); error.addKey(this, "maxCurrentYear"); validatable.error(error); } } }