/** * @param \Nette\Forms\IControl * @return bool */ public function isLicenseValid(IControl $control) { $licenses = $control->getValue(); if (is_string($licenses)) { $licenses = array_map('trim', explode(',', $licenses)); } foreach ($licenses as $license) { if (!$this->validators->isLicenseValid($license)) { return FALSE; } } return TRUE; }
/** * Is a control's value float number? * @return bool */ public static function validateFloat(IControl $control) { $value = str_replace(array(' ', ','), array('', '.'), $control->getValue()); if (Validators::isNumeric($value)) { $control->setValue((double) $value); return TRUE; } return FALSE; }
/** * Count/length validator. Range is array, min and max length pair. * @return bool * @internal */ public static function validateLength(IControl $control, $range) { if (!is_array($range)) { $range = array($range, $range); } $value = $control->getValue(); return Nette\Utils\Validators::isInRange(is_array($value) ? count($value) : Nette\Utils\Strings::length($value), $range); }
/** * Equal validator: are control's value and second parameter equal? * @param Nette\Forms\IControl * @param mixed * @return bool */ public static function validateEqual(IControl $control, $arg) { $value = $control->getValue(); foreach (is_array($value) ? $value : array($value) as $val) { foreach (is_array($arg) ? $arg : array($arg) as $item) { if ((string) $val === (string) ($item instanceof IControl ? $item->value : $item)) { return TRUE; } } } return FALSE; }
/** * Rangle validator: is a control's value number in specified range? * @param Nette\Forms\IControl * @param array min and max value pair * @return bool */ public static function validateRange(IControl $control, $range) { return Nette\Utils\Validators::isInRange($control->getValue(), $range); }
/** * Filled validator: has been any checkbox checked? * * @param \Nette\Forms\IControl $control * @return bool */ public static function validateChecked(Nette\Forms\IControl $control) { return $control->getValue() !== NULL; }
/** * Filled validator: is control filled? * @param IControl * @return bool */ public static function validateFilled(IControl $control) { return count($control->getValue()) !== 0; }
/** * Is entered values within allowed range? * * @author Jan Tvrdík * @param DatePicker * @param array 0 => minDate, 1 => maxDate * @return bool */ public static function validateRange(Nette\Forms\IControl $control, $range) { return ($range[0] === NULL || $control->getValue() >= $range[0]) && ($range[1] === NULL || $control->getValue() <= $range[1]); }
/** * @param BaseDateTime * @return bool */ public static function validateValid(\Nette\Forms\IControl $control) { $value = $control->getValue(); return is_null($value) || $value instanceof DateTime; }
public static function negativeNumber(IControl $control) { return (int) $control->getValue() < 0; }
IControl?(object)array('control'=>$rule->arg->getHtmlName()):$rule->arg;}$payload[]=$item;}return$payload;}static function validateEqual(IControl$control,$arg){$value=$control->getValue();foreach((is_array($value)?$value:array($value))as$val){foreach((is_array($arg)?$arg:array($arg))as$item){if((string)$val===(string)($item instanceof IControl?$item->value:$item)){return TRUE;}}}return FALSE;}static
/** * Filled validator: has been any file uploaded? * @param Forms\IControl * @return bool */ public static function validateFilled(Forms\IControl $control) { $files = $control->getValue(); return count($files) > 0; }
/** * Validates range * * @param \Nette\Forms\IControl $control control * @param array $range minimum and maximum dates and times * @return bool */ public static function validateRange(IControl $control, $range) { if ($control->getValue() !== '') { if ($control->range['min'] !== NULL) { if ($control->getValue() < $control->range['min']) { return FALSE; } } if ($control->range['max'] !== NULL) { if ($control->getValue() > $control->range['max']) { return FALSE; } } } return TRUE; }
/** * Filled validator: has been any filed? * * @param \Nette\Forms\IControl * @return bool */ public static function validateFilled(\Nette\Forms\IControl $control) { return (bool) count(array_filter( $control->getValue(), function($file) { return $file instanceof FileUpload && $file->isOK(); } )); }
public static function validateMinDistanceFrom(IControl $control, array $args) { list($distance, $point) = $args; return $control->getValue()->getDistanceTo(new GpsPoint($point)) >= $distance; }
public static function validateLength(IControl $control, $range) { if (!is_array($range)) { $range = array($range, $range); } return Validators::isInRange(count($control->getValue()), $range); }