【问题标题】:Trying to join two independent forms试图加入两个独立的形式
【发布时间】:2010-05-26 14:19:52
【问题描述】:

我正在尝试在 同一页。

我的想法是(只看登录表格):

  • 创建一个显示两种形式(部分)的动作:

    public function executeLoginAndRegister(sfWebRequest $request){
    
       $this->form_signin =  $this->getUser()->getAttribute('form_signin');
    
    }
    
  • 每个部分都调用它的动作:

form action="php?> echo url_for('@sf_guard_signin') ?>" method="post">

  • 在我编写此代码的操作中

    public function executeSignin($request)
    {
       //...
    
      $this->form = new $MyFormclass();
    
       if ($this->form->isValid())
       {
           //...
    
       }else{
    
            // save the form to show the error messages.
            $this->getUser()->setAttribute('form_signin', $this->form);
    
            return $this->forward('sfGuardAuth', 'loginAndRegister');
    
        }
    }
    

它可以工作,但是,例如,如果我执行 LoginAndRegister 并提交 登录表单错误,我转到另一个页面,然后返回 LoginAndRegister,我会找到提交错误信息...

如果我执行 LoginAndRegister 并错误地提交了登录表单和 打开另一个浏览器选项卡,我会在 第二个标签的登录表单...

有什么想法吗?有更好的方法吗?

【问题讨论】:

    标签: symfony1


    【解决方案1】:

    如果我是你,我只会使用sfDoctrineApplyPlugin :)

    【讨论】:

    • 我正在使用 sfDoctrineGuardExtraPlugin 注册用户。它工作完美。我想我的问题不在于。我的问题是将独立的表单放在同一页面中。
    • 不,我不会将两个表单都嵌入到一个表单中。你认为嵌入这两种形式会起作用吗?但他们是完全独立的! :S
    【解决方案2】:

    我有,只要写在 if "request->isMethod('post')" 里:

     public function executeLoginAndRegister(sfWebRequest $request){
    
        if($request->isMethod('post')){
    
        $this->form_signin =  $this->getUser()->getAttribute('form_signin');
    
      }
    }
    

    无论如何,如果我的方法有任何大错误或不安全,我会 感谢任何告诉我的人。

    贾维

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2016-08-16
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多