开发者

How to prevent form submission without required fields?

I am creating forms elements like this:

$element = $this->CreateElement('select', 'countries');
$element->setLabel('Countries');
$element->setAttrib( 'required', true );
$element->addMultiOptions( array( ''=>'Select', '1'=>'Aus','2'=>'UK',.... ) );

Following code is submitting form:

// form
$form = new SomeForm();

// get request
$request = $this->getRequest();

// isPost
if( $request->isPost() ) {

    // isValid
    if( $form->isValid( $request->getPost() ) ) {               
         $values = $form->getValues();    
         // Save values into database here                                      
    } else {            
        $this->view->msg = "Required Fields a开发者_如何转开发re missing.";
    } 

} else {        
    $this->view->msg = 'Form is not submitted properly';
}

When I fill form properly then it save record into database successfully. But when I does not select country, it also submit form. I think I should show "Required Fields are missing." message instead of inserting values into database when required fields is missing.

What am I missing ??

Thanks


This line:

$element->setAttrib( 'required', true );

doesn't really do what you think it does (it sets an HTML attribute).

You probably wanted

$element->setRequired(true);

(This is assuming you're using Zend_Form, it's not totally clear from the code you posted).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜