Как получить объект формы, в контроллер, если я не использую zend_form для генерации форм - PullRequest
0 голосов
/ 13 декабря 2010

У меня есть форма, как показано ниже:

 
 
  
  
  
 



Здесь я не использую zend_form, как я могу прочитать значения, переданные, когда я в контроллере.

 function updateproductsAction(){
    //$request = $this->getRequest();
    echo "<pre>";
    print_r($this->getRequest('POST'));
 }

выше - контроллер.Мне нужно прочитать значения, переданные из входных тегов.

заранее спасибо

Гаян

1 Ответ

1 голос
/ 13 декабря 2010

Предполагая, что вашим контроллером является "ProductsController" (вы не указали имя), и предполагая, что действие вашей формы = "/ products / updateproducts" и method = "POST" (исходный код вашей формы отсутствует), тогда:

function updateproductsAction() {
    if ($this->_request->isPost()) {
        // Assuming input tag "name" values are product_id and quantity:
        $productId = $this->_request->getParam('product_id');
        $quantity = $this->_request->getParam('quantity');
        // etc.. for input tags
    }
}

Если бы вы использовали Zend_Form (я настоятельно рекомендую это сделать), то код был бы слегка изменен следующим образом:

function updateproductsAction() {
    $form = new My_Form_UpdateProducts();
    if ($this->_request->isPost() && $form->isValid($this->_request->getPost())) {
        $productId = $this->_request->getParam('product_id');
        // etc..
    }
}

Использование Zend_Form позволяет выполнять проверку ввода ифильтрация и т. д. с минимальными усилиями (т.е. обрезка пробелов, ввод всех строчных и прописных букв, обеспечение ввода только числовых значений и т. д.).

Если использовать метод = "GET", isPost () становится isGet() и getPost () становится getQuery ().

...