Wednesday , February 26 2020
Home / Zend Framework / Validate records in zf2

Validate records in zf2

Inside the controller :

Select Code
public function addAction() {
        $form = new TestForm();
        $form->get('submit')->setAttribute('value', 'Add');

        $request = $this->getRequest();
        if ($request->isPost()) {
            $test = new Test();
            $form->setInputFilter($test->getInputFilter());
            $form->setData($request->getPost());
            if ($form->isValid()) {
                $test->exchangeArray($form->getData());
                
                if($this->getTestTable()->validateRecord($test, 'field1', 'test')){
                    $this->getTestTable()->saveTest($test);
                    $this->flashMessenger()->addMessage('Record added in db');
                    // Redirect to list of tests
                    return $this->redirect()->toRoute('test');
                }
                else{
                    $this->flashMessenger()->addMessage('Record Exist in DB');
                    return $this->redirect()->toRoute('test', array('action' => 'add'));
                }
            }
        }
        return array('form' => $form,'flashMessages' => $this->flashMessenger()->getMessages());
    }

Inside the model

Select Code
public function validateRecord($data,$field,$table){
        $select = new ZendDbSqlSelect();
        $select->from($table)
               ->where->equalTo($field, $data->$field);
        $validator = new ZendValidatorDbRecordExists($select);
        $validator->setAdapter($this->adapter);
        if ($validator->isValid($data->$field)) {
            return false;
        } 
        else {
            return true;
        }
    }

About v.shakya

I am V.Shakya, Freelance PHP Programmer. I like to share my ideas, views and knowledge to all of you who come across my website. I am young, enthusiastic, highly motivated and self disciplined person. I completed my studies in Master of Computer Application and currently giving my technical expertise to one of the Big IT company. I have more than Ten years of experience in vast field of Programming , Designing and Development of websites and various software's.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please fill in the form and submit to subscribe

Welcome to VShakya

For this week my all price is very low !

Don't miss to get my services

Thanks

 

Contact us