簡體   English   中英

ZF2中的條件驗證

[英]Conditional Validation in ZF2

我有一個表格,以帶有兩個選項的Select開頭。 還有其他幾個字段,其中一些是第一個“選擇”選項所必需的,而其他則是第二個“選擇”選項所必需的。

在視圖中,我使用“選擇”顯示/隱藏相關/不相關字段。 當選擇“選擇”中的選項時,大多數這些字段是必需的。

僅驗證與“選擇”中所選內容相關的字段的最佳方法是什么?

在您的控制器中,您可以執行類似的操作(關鍵是表單的setValidationGroup函數):

//GET THE FORM
$form = $this->getServiceLocator()->get( '<FORM_NAME>' );

//GET THE POSTED DATA
$request = $this->getRequest();
$data = get_object_vars( $request->getPost() );

//DEPENDING ON THE SELECT VALUE, VALIDATE THIS OR THAT FIELDS
if ( $data[ 'SELECT_NAME' ] === 'A' ) {
    $form->setValidationGroup( array( 'INPUT_A', 'INPUT_B' ) );
} else {
    $form->setValidationGroup( array( 'INPUT_C', 'INPUT_D' ) );
}

//PERFORM THE FORM VALIDATION
if ( !$form->isValid() ) {
    //FORM IS WRONG
    ( ... )
}

//FORM IS OK
( ... )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM