Php Zend有效的Post值

Php Zend有效的Post值,php,validation,zend-framework,http-post,Php,Validation,Zend Framework,Http Post,我在html中创建了一个简单的表单,我调用了这个部分中的控制器,它可以很好地捕捉到值,但是我想在参数为null但不起作用时验证这个参数,我不使用zendform,因为我不喜欢它的样式和方法“isValid”只有在创建新表单时才有效,但在这种情况下显然不起作用 代码如下: <HTML> <form action ="/insert" method="post"> <input type="text" name="myname"/>

我在html中创建了一个简单的表单,我调用了这个部分中的控制器,它可以很好地捕捉到值,但是我想在参数为null但不起作用时验证这个参数,我不使用zendform,因为我不喜欢它的样式和方法“isValid”只有在创建新表单时才有效,但在这种情况下显然不起作用

代码如下:

<HTML>
    <form action ="/insert" method="post">
        <input type="text" name="myname"/>
        <input type="text" name="lastname"/>
        <input type ="submit" value="Send">
    </form>
<HTML>

PHP代码

public function insertAction(){
     $form=$this->_getAllParams();

      if(!empty($form)){
         echo '</br> your name : '.$form['myname'] ;
         echo '</br> your last name : '.$form['lastname'] ; 
         exit;
      }
      else{
          echo 'Oops! What are you doing?!';
          exit;
      }
}
公共函数插入(){
$form=$this->_getAllParams();
如果(!空($form)){
回显“
您的姓名:”.$form['myname']; 回显“
您的姓氏:”。$form['lastname'; 出口 } 否则{ echo‘哎呀!你在干什么?!’; 出口 } }
试试这个

public function insertAction(){
    $form = new Your_Form ();
    if ($form->isValid($_POST)) {
        // success!
        $values = $form->getValues();
        print_r($values); // should have your values
    } else {
    // failure!
    }
}
您的表单不仅仅是一组参数,它是一个帮助您呈现和验证表单的类。检查返回的值是否对表单有效后,可以使用getValues()函数提取这些值。您不需要手动呈现或创建表单HTML。在视图中,您只需呈现在控制器中创建并发送到视图的表单:

echo $this->form;

如果不使用Zend_表单,则无法使用isValid方法。 最快的解决方法是获取帖子,然后逐个验证字段

像这样:

$request = $this->getRequest();

if ($request->isPost())
{
    $post = $request->getPost();
    $myname = $post['myname'];
    $lastname = $post['lastname'];

    if (!is_null($myname) && !is_null($lastname))
    {
        // do your actions here
    }else
    {
        // do your else actions here
    }
}

谢谢,但我以前是这样做的,但在我的表单中使用这种方式的原因是因为使用输入文件和Zend的方法“输入文件”有些复杂,我也想从视图中更改样式。来自Mexicowell的问候呈现部分并不重要,您可以按照您想要的方式生成html。但是在检查值时,应该定义并使用Zend_Form对象,否则使用ZF到底有什么意义。。。只需执行$this->getRequest()->getPost()并逐个验证参数即可