【问题标题】:Conditional Validation in ZF2ZF2 中的条件验证
【发布时间】:2013-09-14 11:56:11
【问题描述】:

我有一个以 Select 开头的表单,其中包含两个选项。还有几个其他字段,其中一些是第一个 Select 选项所必需的,而其他字段是第二个 Select 选项所必需的。

在视图中,我使用 Select 来显示/隐藏相关/不相关的字段。 Most of these fields are required when their option in the Select is selected.

仅验证与 Select 中所选内容相关的字段的最佳方法是什么?

【问题讨论】:

    标签: forms validation zend-framework2


    【解决方案1】:

    在您的控制器中,您可以执行类似的操作(关键是表单的 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
    ( ... )
    

    【讨论】:

      猜你喜欢
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多