2010-12-05 24 views

答えて

2

ビューから電話をかける必要があります。どのようにしたいのかは、あなたが達成しようとしているものによって決まります。例えば

:あなたのビューで

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のための各条件の景色のための全く異なる構造がある場合、あなたはactuallプットを使用する場合があります部分的にすべてのものを使用して、条件内でinclude_partialを使用するか、別のビューテンプレートを使用して、アクションでsetTemplateを使用して正しいものをレンダリングすることができます。 icあなたはforwardと完全に別のアクションを使用することができます。または、これがajaxサブミッションの場合は、htmlの代わりにjsonを返し、コールバックの一部としてjs関数を実行します。返されたjsonを検証の結果を示す変数としてチェックします。

これは本当にあなた次第です。

関連する問題