/*_########################################################################## _## _## Copyright (C) 2012-2013 Kaito Yamada _## _########################################################################## */ package com.github.kaitoy.sneo.giane.validator; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; public class IpAddressPrefixLengthValidator extends FieldValidatorSupport { public void validate(Object object) throws ValidationException { String validatingFieldName = getFieldName(); Integer prefixLength = (Integer)getFieldValue(validatingFieldName, object); String address = (String)getFieldValue("address", object); if (address == null) { // An invalid value is tried to be input to the address field return; } // assuming prefixLength is between 0 and 128. if (!address.contains(":")) { if (prefixLength > 32) { addFieldError(validatingFieldName, object); } } } }