package org.ovirt.engine.ui.uicommonweb.validation; import org.ovirt.engine.ui.uicompat.ConstantsManager; /** * Validates a hostname for length and allowable characters */ public class HostnameValidation implements IValidation { private static final String nameRegex = "^[-_\\.0-9a-zA-Z]*$"; //$NON-NLS-1$ private static final String nameMessage = ConstantsManager.getInstance().getConstants().hostNameValidationMsg(); private static final int maxLength = 255; private static final RegexValidation regexValidator = new RegexValidation(nameRegex, nameMessage); private static final NotEmptyValidation notEmptyValidator = new NotEmptyValidation(); private static final LengthValidation lengthValidator = new LengthValidation(maxLength); @Override public ValidationResult validate(Object value) { ValidationResult notEmptyValidation = notEmptyValidator.validate(value); if (!notEmptyValidation.getSuccess()) { return notEmptyValidation; } ValidationResult lengthValidation = lengthValidator.validate(value); if (!lengthValidation.getSuccess()) { return lengthValidation; } return regexValidator.validate(value); } }