QuickForm и несколько кнопок у формы

idencial

Одинаковый
QuickForm и несколько кнопок у формы

Предположим есть некоторая форма, созданная с помощью HTML_QuickForm
PHP:
require_once "HTML/QuickForm.php";
$form = new HTML_QuickForm('frmTest', 'post');

$form->addElement('text', 'title', 'news title:');
$form->addElement('textarea', 'summary', 'news summary:');
$form->addElement('textarea', 'full_text', 'news full text:');
$form->addElement('submit', 'edit', 'Edit');
$form->addElement('submit', 'delete', 'Delete');

$form->addRule('title', 'title is required', 'required');
$form->addRule('summary', 'summary is required', 'required');
$form->addRule('full_text', 'full text is required', 'required');
Как видно все три поля формы обязательные
Но обязательны они только для случая с редактированием, т.е обязательны при нажатии на кнопку Edit, при нажатии же на кнопку Delete мне все равно что заполнено, т.к я удаляю запись

У меня приходит только такой вариант реализации
PHP:
if(!empty($_POST['delete'])) {
  //delete
}
if(!empty($_POST['edit'])) {
   if ($form->validate()) {
       //edit
   }
}
И вообще, я так понял, что для случая больше одной кнопки в форме я должен прибегать к проверке типа,
PHP:
if(!empty($_POST['button_name'])) {
}
Есть ли более красивые варинты обработки (средствами QuickForm)
1. Случая, когда обязательность полей только для одной из кнопок
2. Случаев с формами, у которых кнопок больше 1
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Re: QuickForm и несколько кнопок у формы

Автор оригинала: idencial
Есть ли более красивые варинты обработки (средствами QuickForm)
1. Случая, когда обязательность полей только для одной из кнопок
2. Случаев с формами, у которых кнопок больше 1
http://pear.php.net/package/HTML_QuickForm_Controller
 

idencial

Одинаковый
спасибо, посмотрел

Через него конечно будет красивее, но тяжеловеснее.
ИМХО его лучше юзать именно с многостраничными формами.

В моем случае все гораздо проще, т.к для одной конкретной формы будет либо удаление, либо редактирование и проще и легче ограничиться
PHP:
if(!empty($_POST['button_name'])) { 
}
 
Сверху