@VladimirPortev

Как записать свою функцию в вызов компонента?

Подскажите, как вызвать свою функцию в компоненте битрикса.
"EMAIL_CHECK_FUNCTION" => "",
Хочу сделать проверку email
Вот компонент
<?$APPLICATION->IncludeComponent(
	"Form", 
	"test", 
	array(
		"COMPONENT_TEMPLATE" => "form",
		"IBLOCK_ID" => "",
		"PUT_ACTIVE" => "N",
		"FIELDNAMES" => array(
			0 => "NAME",
			1 => "EMAIL",
		),
		"NAME_REQUIRED" => "Y",
		"AUTHOR_IBLOCK_FIELD" => "NAME",
		"EMAIL_REQUIRED" => "Y",
		"EMAIL_IBLOCK_FIELD" => "NAME",
		"EMAIL_CHECK_FUNCTION" => "",
	),
	false
);?>
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
rpsv
@rpsv
делай либо хорошо, либо никак
Если не учитывать, что несколько странное название компонента (без вендора), и незнание внутренностей компонента, то советов несколько:

1. Создать класс "Form" (именно класс, а не компонент), который будет отвечать за обработку формы (содержать список полей, отвечать за валидацию, инциализацию и т.д.)
2. Передавайте callback в параметры (массивом, строкой, объектом - этот вариант лучше), и собственно внутри компоненты вызывать функцию.
3. Реализовать проверку внутри компонента (но тогда вы не сможете динамически менять условия проверки)

Варианты расположены по степени адекватности в порядке - убывания, а по степени простоты в порядке - убывания. Короче:
1 - самый правильный, самый сложный;
3 - самый легкий, самый быдло.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
no_one_safe
@no_one_safe
Прочтите курс про компоненты https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы