public function evaluate($input = null)
{
// Set the input, if passed
if (null !== $input) {
$this->input = $input;
}
// Set the default message
if (null === $this->defaultMessage) {
if ($this->condition) {
$this->defaultMessage = I18n::factory()->__('The value length must be equal to %1.', $this->value);
} else {
$this->defaultMessage = I18n::factory()->__('The value length must not be equal to %1.', $this->value);
}
}
// Evaluate the input against the validator
if ((strlen($this->input) == $this->value) == $this->condition) {
$this->result = true;
} else {
$this->result = false;
}
return $this->result;
}