/**
*
*/
package org.javabuilders.handler.validation.validator;
import org.javabuilders.BuildResult;
import org.javabuilders.NamedObjectProperty;
import org.javabuilders.handler.validation.ValidationMessage;
import org.javabuilders.handler.validation.ValidationMessageList;
/**
* Mandatory validator
* @author Jacek Furmankiewicz
*
*/
public class MandatoryValidator extends AbstractValidator {
/**
* @param property
* @param label
* @param messageFormat
* @param result
*/
public MandatoryValidator(NamedObjectProperty property, String label,
String messageFormat, BuildResult result) {
super(property, label, messageFormat, result);
}
/* (non-Javadoc)
* @see org.javabuilders.handler.validation.ICustomValidator#validate(java.lang.Object, org.javabuilders.handler.validation.ValidationMessageList)
*/
public void validate(Object value, ValidationMessageList list) {
if (value == null) {
//non-strings, just check for null
list.add(new ValidationMessage(getProperty(),getMessage(getLabel())));
} else if (value instanceof String && ((String)value).trim().length() == 0) {
list.add(new ValidationMessage(getProperty(),getMessage(getLabel())));
}
}
}