本文整理汇总了PHP中DateRange::addValidator方法的典型用法代码示例。如果您正苦于以下问题:PHP DateRange::addValidator方法的具体用法?PHP DateRange::addValidator怎么用?PHP DateRange::addValidator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateRange
的用法示例。
在下文中一共展示了DateRange::addValidator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPresentationClass
protected function getPresentationClass($presentation, $questionName, $configs = null)
{
$event = new OW_Event('base.questions_field_get_label', array('presentation' => $presentation, 'fieldName' => $questionName, 'configs' => $configs, 'type' => 'edit'));
OW::getEventManager()->trigger($event);
$label = $event->getData();
$class = null;
$event = new OW_Event('base.questions_field_init', array('type' => 'search', 'presentation' => $presentation, 'fieldName' => $questionName, 'configs' => $configs));
OW::getEventManager()->trigger($event);
$class = $event->getData();
if (empty($class)) {
switch ($presentation) {
case BOL_QuestionService::QUESTION_PRESENTATION_TEXT:
case BOL_QuestionService::QUESTION_PRESENTATION_TEXTAREA:
$class = new TextField($questionName);
break;
case BOL_QuestionService::QUESTION_PRESENTATION_CHECKBOX:
$class = new CheckboxField($questionName);
break;
case BOL_QuestionService::QUESTION_PRESENTATION_RADIO:
case BOL_QuestionService::QUESTION_PRESENTATION_SELECT:
case BOL_QuestionService::QUESTION_PRESENTATION_MULTICHECKBOX:
$class = new Selectbox($questionName);
break;
case BOL_QuestionService::QUESTION_PRESENTATION_BIRTHDATE:
case BOL_QuestionService::QUESTION_PRESENTATION_AGE:
$class = new USEARCH_CLASS_AgeRangeField($questionName);
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 USEARCH_CLASS_AgeRangeValidator($class->getMinAge(), $class->getMaxAge()));
break;
case self::QUESTION_PRESENTATION_RANGE:
$class = new Range($fieldName);
if (empty($this->birthdayConfig)) {
$birthday = $this->findQuestionByName("birthdate");
if (!empty($birthday)) {
$this->birthdayConfig = $birthday->custom;
}
}
$rangeValidator = new RangeValidator();
if (!empty($this->birthdayConfig) && mb_strlen(trim($this->birthdayConfig)) > 0) {
$configsList = json_decode($this->birthdayConfig, true);
foreach ($configsList as $name => $value) {
if ($name = 'year_range' && isset($value['from']) && isset($value['to'])) {
$class->setMinValue(date("Y") - $value['to']);
$class->setMaxValue(date("Y") - $value['from']);
$rangeValidator->setMinValue(date("Y") - $value['to']);
$rangeValidator->setMaxValue(date("Y") - $value['from']);
}
}
}
$class->addValidator($rangeValidator);
break;
case self::QUESTION_PRESENTATION_DATE:
$class = new DateRange($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 BOL_QuestionService::QUESTION_PRESENTATION_URL:
$class = new TextField($questionName);
$class->addValidator(new UrlValidator());
break;
}
if (!empty($label)) {
$class->setLabel($label);
}
if (empty($class)) {
$class = BOL_QuestionService::getInstance()->getSearchPresentationClass($presentation, $questionName, $configs);
}
}
return $class;
}