validation phptemplate

Главные вкладки

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 18:06

народ подскажите, как выполнять валидацию cck в phptemplate. Как определить валидатор, у меня все игнорируется. Надо срочно, помогите

Комментарии

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 19:12

template.php
Отсылка формы для записи выполняется function photo_node_form_submit($form, &$form_state)
попытки переопределить валидатор ни к чему не приводят, а надо выполнить собственную валидацию и вернуться, если надо, назад

Аватар пользователя kosilko kosilko 31 мая 2010 в 19:46

"julia_sib" wrote:
народ подскажите, как выполнять валидацию cck в phptemplate

"julia_sib" wrote:
Отсылка формы для записи выполняется function photo_node_form_submit($form, &$form_state)

Вы уж определитесь что вы хотите поменять - валидацию или сабмит формы, а то из вопроса и последующих ваших постов не совсем ясно. На случай навешивания своих валидаторов есть нормальный такой модуль validation_api

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 20:01

надо выполнить валидацию и в сабмите обработать для подготовки. Нельзя в программе определить валидатор. Для своего модуля все работает, но в template.php ничего

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 20:17

может есть другой способ
Как выполнить редирект назад на запоненную форму c отменой сохранения формы из _submit
Никто без костылей в виде доп модулей не обходился что ли.

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 20:47

почему левые функции, есть cck, шаблон задается в template.php
А как валидацию выполнить непонятно. И не просто проверку текста в поле, а залесть в базу, использовав 2 поля формы. Т.е. вопрос, как переопределить стандатный валидатор, как назвать. photo_node_form_validate и т.п. не дают результата

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 22:33

пришлось извратиться и добавить свой валидатор в модуле filefield, который добавляет свой валидатор.
Криво, но другого способа не нашла. А так все работает

Аватар пользователя graker graker 31 мая 2010 в 21:52

Левые - потому что такие вещи (подмена/добавление валидатора) через hook_form_alter делаются, причем не просто делаются, а делаются в две строчки.

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 22:36

я не предполагала, что столкнусь с таким геммороем в друпале как валидация. Проект написан, а валидации путной не было. Это первый крупный проект. Переделывать все под модуль времени нет.

Аватар пользователя graker graker 31 мая 2010 в 22:48

Валидация - это не геморрой, геморрой - это как вы решили проблему.

Правильное решение - модуль из четырех строчек:
фанкшн модуль_форм_альтер(...) {
иф (форм_айди == 'нужная_форма') {
форм['валидейт'][] = 'название функции';
}
}
И всё. Что под это надо переделывать, сколько на это надо времени? Smile

Аватар пользователя julia_sib julia_sib 31 мая 2010 в 23:00

пыталась, но все что добавляется в template.php не срабатывает. модуль_форм_альтер(...) т.е. phptemplate_форм_альтер(...) игнорируется

Аватар пользователя kosilko kosilko 1 июня 2010 в 0:51

"julia_sib" wrote:
phptemplate_форм_альтер(...) игнорируется

попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз
попробуйте еще раз

Аватар пользователя julia_sib julia_sib 1 июня 2010 в 14:42

пробовать уже некога (финальный день), я нашла способ, хоть извратный, но работающий. Если найду решение, то напишу