public function validates_inclusion_or_exclusion_of($type, $attrs)
{
$configuration = array_merge(self::$DEFAULT_VALIDATION_OPTIONS, array('message' => Errors::$DEFAULT_ERROR_MESSAGES[$type], 'on' => 'save'));
foreach ($attrs as $attr) {
$options = array_merge($configuration, $attr);
$attribute = $options[0];
$var = $this->model->{$attribute};
if (isset($options['in'])) {
$enum = $options['in'];
} elseif (isset($options['within'])) {
$enum = $options['within'];
}
if (!is_array($enum)) {
array($enum);
}
$message = str_replace('%s', $var, $options['message']);
if ($this->is_null_with_option($var, $options) || $this->is_blank_with_option($var, $options)) {
continue;
}
if ('inclusion' == $type && !in_array($var, $enum) || 'exclusion' == $type && in_array($var, $enum)) {
$this->record->add($attribute, $message);
}
}
}