polygris
Guest
Тривиальная проблема с QuickForm
Создаю форму с помошью HTML_QuickForm. Форма предназначена для редактирования, удаления, просмотра и добавления записи в БД. Создаю hidden поле action для хранения текущего действия формы ('edit', 'add', 'delete', 'view').
Проблема!
Передаю параметр для формы vacancy_edit.php?action=add
и у меня сразу форма проходит validate().
Если ли стандратное решение этой проблемы, или путь как правильно передавать параметры QuickForm.
Не считайте ламером. Только начал разбираться с QuickForm и может чего то недопонимаю
Создаю форму с помошью HTML_QuickForm. Форма предназначена для редактирования, удаления, просмотра и добавления записи в БД. Создаю hidden поле action для хранения текущего действия формы ('edit', 'add', 'delete', 'view').
Проблема!
Передаю параметр для формы vacancy_edit.php?action=add
и у меня сразу форма проходит validate().
Если ли стандратное решение этой проблемы, или путь как правильно передавать параметры QuickForm.
Не считайте ламером. Только начал разбираться с QuickForm и может чего то недопонимаю

PHP:
require_once "HTML/QuickForm.php";
// --- Check e-mail function -------------------------------------------
function checkEmail($email, $domainCheck = false)
{
if (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+'.
'\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/', $email)) {
if ($domainCheck && function_exists('checkdnsrr')) {
list (, $domain) = explode('@', $email);
if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) {
return true;
}
return false;
}
return true;
}
return false;
}
// --- Creating main form -----------------------------------------------------
$form = new HTML_QuickForm('vacancy_form', 'get');
// --- Adding form elements --------------------------------------------------
$form->addElement('header', 'header', 'Âàêàíñèÿ');
$form->addElement('hidden', 'action', 'view');
$form->addElement('text', 'id', 'Íîìåð:');
$form->addElement('checkbox', 'activity', 'Àêòèâíîñòü âàêàíñèè:');
$form->addElement('text', 'profession', 'Ïðîôåññèÿ:');
$form->addElement('text', 'education', 'Îáðàçîâàíèå:');
$form->addElement('text', 'age', 'Âîçðàñò:');
$form->addElement('textarea', 'description', 'Äîïîëíèòåëüíûå äàííûå:');
$form->addElement('text', 'phone', 'Êîíòàêòíûé òåëåôîí:');
$form->addElement('text', 'email', 'Êîíòàêòíûé e-mail:');
$form->addElement('reset', 'btn_clear', 'Î÷èñòèòü äàííûå');
$form->addElement('submit', 'btn_submit', 'Îòïðàâèòü äàííûå');
// --- Adding rule for elements --------------------------------------------------
$form->registerRule('checkmail', 'callback', 'checkEmail');
$form->addRule('profession', 'Ïîëå íå ìîæåò îñòàâàòüñÿ ïóñòûì!', 'required');
$form->addRule('phone', 'Ïîëå íå ìîæåò îñòàâàòüñÿ ïóñòûì!', 'required');
$form->addRule('email', 'Íåïðàâèëüíûå ôîðìàò e-mail!', 'checkmail', true);
// --- Form validating -----------------------------------------------------------
if () {
}
if ($form->validate()) {
$form->freeze();
$form->process('process_data', false);
} else {
$form->display();
}
// --- Processing data -----------------------------------------------------------
function process_data ($values) {
echo "<PRE>";
foreach ($values as $key=>$value) {
echo $key."=".$value."<BR>";
}
echo "</PRE>";
}