Тривиальная проблема с QuickForm

polygris

Guest
Тривиальная проблема с 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>";
}
 
Сверху