NumericRangeArgumentValidator.php in Views Contextual Range Filter 8
File
src/Plugin/views/argument_validator/NumericRangeArgumentValidator.php
View source
<?php
namespace Drupal\contextual_range_filter\Plugin\views\argument_validator;
use Drupal\views\Plugin\views\argument_validator\NumericArgumentValidator;
class NumericRangeArgumentValidator extends NumericArgumentValidator {
public function validateArgument($argument) {
$ranges = preg_split('/[+ ]/', $argument);
foreach ($ranges as $range) {
$minmax = explode(CONTEXTUAL_RANGE_FILTER_SEPARATOR1, $range);
if (count($minmax) < 2) {
$minmax = explode(CONTEXTUAL_RANGE_FILTER_SEPARATOR2, $range);
}
if (count($minmax) < 2) {
if (!parent::validateArgument($argument)) {
return FALSE;
}
}
elseif (!(parent::validateArgument($minmax[0]) && parent::validateArgument($minmax[1]) && $minmax[0] <= $minmax[1] || empty($minmax[0]) && parent::validateArgument($minmax[1]) || empty($minmax[1]) && parent::validateArgument($minmax[0]))) {
return FALSE;
}
}
return TRUE;
}
}