【问题标题】:How to call javascript function if form invalid in Symfony如果表单在 Symfony 中无效,如何调用 javascript 函数
【发布时间】:2010-12-05 18:03:18
【问题描述】:

验证表单后,我想在 Symfony 中调用一个 javascript 函数,但它无效。我在哪里可以调用这个函数?

【问题讨论】:

    标签: javascript validation forms symfony1


    【解决方案1】:

    您需要从您的视图中拨打电话。您究竟想如何做到这一点取决于您要达到的目标。

    例如:

    public function executeFormSubmitAction(sfWebRequest $request)
    {
        $this->form = new MyForm();
        $this->form->bind($request->getParamter($$this->form->getName());
        $this->valid = null;
    
        if($this->form->isValid())
        {
           // do stuff with values
    
           $this->valid = true;
        }
        else
        {
           $this->valid = false;
        }
    }
    

    然后在你看来:

    <?php if($valid === true): ?>
      Thanks!
    <?php else: ?>
      <?php echo $form; ?>
      <?php if(false === $valid): ?>
        <!-- your javascript call and related stuff -->
      <?php endif; ?>
    <?php endif; ?>
    

    如果$valid 的每个条件的视图具有完全不同的结构,那么您可能想要使用实际将所有内容放在部分中,然后在条件中使用include_partial,或者您可以使用单独的视图模板和在您的操作中使用setTemplate 来呈现正确的操作...或者如果它们真的很复杂并且需要特殊逻辑,您可以使用forward 并完全分开操作。或者,如果这是一个 ajax 提交,您可以返回 json 而不是 html,然后执行您的 js 函数作为回调的一部分 - 检查返回的 json 中是否有标记验证结果的变量。

    这完全取决于你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 2018-09-28
      • 2020-11-15
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-17
      相关资源
      最近更新 更多