本文整理汇总了PHP中DateField::addValidator方法的典型用法代码示例。如果您正苦于以下问题:PHP DateField::addValidator方法的具体用法?PHP DateField::addValidator怎么用?PHP DateField::addValidator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateField
的用法示例。
在下文中一共展示了DateField::addValidator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPresentationClass
/**
* Returns all available presentations
*
* @return array<string>
*/
public function getPresentationClass($presentation, $fieldName, $configs = null)
{
$event = new OW_Event('base.questions_field_get_label', array('presentation' => $presentation, 'fieldName' => $fieldName, 'configs' => $configs, 'type' => 'edit'));
OW::getEventManager()->trigger($event);
$label = $event->getData();
$class = null;
$event = new OW_Event('base.questions_field_init', array('type' => 'main', 'presentation' => $presentation, 'fieldName' => $fieldName, 'configs' => $configs));
OW::getEventManager()->trigger($event);
$class = $event->getData();
if (empty($class)) {
switch ($presentation) {
case self::QUESTION_PRESENTATION_TEXT:
$class = new TextField($fieldName);
break;
case self::QUESTION_PRESENTATION_SELECT:
$class = new Selectbox($fieldName);
break;
case self::QUESTION_PRESENTATION_TEXTAREA:
$class = new Textarea($fieldName);
break;
case self::QUESTION_PRESENTATION_CHECKBOX:
$class = new CheckboxField($fieldName);
break;
case self::QUESTION_PRESENTATION_RADIO:
$class = new RadioField($fieldName);
break;
case self::QUESTION_PRESENTATION_MULTICHECKBOX:
$class = new CheckboxGroup($fieldName);
break;
case self::QUESTION_PRESENTATION_BIRTHDATE:
case self::QUESTION_PRESENTATION_AGE:
case self::QUESTION_PRESENTATION_DATE:
$class = new DateField($fieldName);
if (!empty($configs) && mb_strlen(trim($configs)) > 0) {
$configsList = json_decode($configs, true);
foreach ($configsList as $name => $value) {
if ($name = 'year_range' && isset($value['from']) && isset($value['to'])) {
$class->setMinYear($value['from']);
$class->setMaxYear($value['to']);
}
}
}
$class->addValidator(new DateValidator($class->getMinYear(), $class->getMaxYear()));
break;
case self::QUESTION_PRESENTATION_RANGE:
$class = new Range($fieldName);
if (!empty($configs) && mb_strlen(trim($configs)) > 0) {
$configsList = json_decode($configs, true);
foreach ($configsList as $name => $value) {
$minMax = explode("-", $value);
if ($name = 'range' && isset($minMax[0]) && isset($minMax[1])) {
$class->setMinValue($minMax[0]);
$class->setMaxValue($minMax[1]);
}
}
}
$class->addValidator(new RangeValidator());
break;
case self::QUESTION_PRESENTATION_URL:
$class = new TextField($fieldName);
$class->addValidator(new UrlValidator());
break;
case self::QUESTION_PRESENTATION_PASSWORD:
$class = new PasswordField($fieldName);
break;
}
}
if (!empty($label)) {
$class->setLabel($label);
}
return $class;
}