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 must be a valid IPv4 subnet.');
} else {
$this->defaultMessage = I18n::factory()->__('The value must not be a valid IPv4 subnet.');
}
}
// Evaluate the input against the validator
if (preg_match('/^\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]|[0-9])\\b$/', $this->input) == $this->condition) {
$this->result = true;
} else {
$this->result = false;
}
return $this->result;
}