- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/lib/form/schedule/scheduleform.php
- Класс: BitrixTimemanFormScheduleScheduleForm
- Вызов: ScheduleForm::configureFilterRules
public function configureFilterRules()
{
return [
(new FilterValidatorNumberValidator('id'))
->configureIntegerOnly(true)
->configureMin(1)
,
(new FilterValidatorStringValidator('name', 'reportPeriod', 'type'))
,
(new FilterModifierStringModifier('name', 'reportPeriod', 'type'))
->configureTrim(true)
->configureSkipOnError(true)
,
(new FilterModifierCallbackModifier('reportPeriodStartWeekDay'))
->configureCallback(function ($value) {
return (int)$value;
})
,
(new FilterValidatorRangeValidator('reportPeriodStartWeekDay'))
->configureRange(ScheduleFormHelper::getReportPeriodWeekDaysValues())
->configureStrict(true)
,
(new FilterValidatorRangeValidator('reportPeriod'))
->configureRange(ScheduleFormHelper::getReportPeriodsValues())
->configureStrict(true)
,
(new FilterValidatorRangeValidator('controlledActions'))
->configureRange(ScheduleFormHelper::getControlledActionValues())
,
(new FilterValidatorRangeValidator('type'))
->configureRange(ScheduleFormHelper::getScheduleTypesValues())
->configureStrict(true)
,
(new FilterValidatorEachValidator('assignments', 'assignmentsExcluded'))
,
(new FilterValidatorEachValidator('allowedDevices'))
->configureValidator(
(new FilterValidatorRangeValidator())
->configureRange([true, false, 'on', ''])
->configureStrict(true)
)
,
(new FilterModifierCallbackModifier('allowedDevices'))
->configureCallback(function ($values) {
foreach ($values as $index => $item)
{
$values[$index] = $item === 'on' || $item === true ? true : false;
}
return $values;
})
->configureSkipOnError(true)
->configureSkipOnArray(false)
,
(new FilterValidatorEachValidator('userIds', 'departmentIds', 'userIdsExcluded', 'departmentIdsExcluded'))
->configureValidator(
(new FilterValidatorNumberValidator())
->configureMin(1)
->configureIntegerOnly(true)
->configureSkipOnEmpty(true)
)
->configureSkipOnEmpty(true)
,
];
}