本文整理汇总了PHP中Nette\Forms\IControl类的典型用法代码示例。如果您正苦于以下问题:PHP IControl类的具体用法?PHP IControl怎么用?PHP IControl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IControl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateDate
/**
* @return bool
*/
public static function validateDate(IControl $control)
{
$year = $control->year;
$month = $control->month;
$day = $control->day;
if (!$control->isRequired() && $year === $month && $month === $day && $day === '') {
return TRUE;
} elseif ($year > 0 && $month > 0 && $day > 0) {
return checkdate($month, $day, $year);
} else {
return FALSE;
}
}
示例2: isLicenseValid
/**
* @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;
}
示例3: validateData
public static function validateData(Nette\Forms\IControl $control)
{
return strlen($control->code) && !is_int($control->code) && $control->isIcoValid($control->ico);
}
示例4: validateRange
/**
* 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]);
}
示例5: validateFilled
/**
* Filled validator: is control filled?
* @param Nette\Forms\IControl
* @return bool
*/
public static function validateFilled(IControl $control)
{
return $control->isFilled();
}
示例6: validateRange
/**
* 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;
}
示例7: validateRange
/**
* 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);
}
示例8: setDependOn
/**
* @param \Nette\Forms\IControl $control
* @param $name
* @return ManyToOne
*/
public function setDependOn(\Nette\Forms\IControl $control, $name = NULL)
{
$_this = $this;
$this->dependOn = array($control, $name ?: $control->name);
$this->criteria = array($name => -1);
$this->form->addSubmit($this->name . '_reload', 'reload')->setValidationScope(FALSE);
$control->form->onBeforeRender[] = function ($form) use($_this, $control) {
$control->getControlPrototype()->onChange = "\$('#frm{$form->name}-{$_this->name}_reload').click();";
};
$f = function ($form) use($_this, $control, $name) {
$_this->setCriteria(array($name => $control->value));
};
$control->form->onAttached[] = $f;
$control->form->onLoad[] = $f;
return $this;
}
示例9: validateData
public static function validateData(Nette\Forms\IControl $control)
{
return checkdate((int) $control->month, (int) $control->day, (int) $control->year) && $control->validTime($control->hour, $control->minute);
}
示例10: validateFilled
/**
* Filled validator: is control filled?
* @param IControl
* @return bool
*/
public static function validateFilled(IControl $control)
{
return count($control->getValue()) !== 0;
}
示例11: negativeNumber
public static function negativeNumber(IControl $control)
{
return (int) $control->getValue() < 0;
}
示例12: renderControl
/**
* Renders 'control' part of visual row of controls.
* @param \Nette\Forms\IControl $control
* @return string
*/
public function renderControl(\Nette\Forms\IControl $control)
{
if ($control instanceof \Nette\Forms\Controls\Checkbox) {
$html = $control->getLabelPrototype();
$caption = $html->getText();
$html->setHtml((string) $control->getControl() . " " . $caption);
return (string) $html;
}
return parent::renderControl($control);
}
示例13: validatePhoneNumber
/**
* @param \Nette\Forms\IControl
* @return bool
*/
public function validatePhoneNumber(\Nette\Forms\IControl $control)
{
$value = $control->getHttpData(Form::DATA_LINE, '[' . static::NAME_PREFIX . ']');
$value .= $control->getHttpData(Form::DATA_LINE, '[' . static::NAME_NUMBER . ']');
return $this->validatePhoneNumberString($value);
}
示例14: validateValid
/**
* @param Forms\IControl $control
* @return bool
*/
public static function validateValid(Forms\IControl $control)
{
$httpRequest = $control->getHttpRequest();
return $control->getReCaptcha()->validate($httpRequest->getRemoteAddress(), $httpRequest->getPost());
}
示例15: validateFilled
/**
* 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;
}