如何在对象var中放置if条件


how to put a if condition in a object var

我要做的是在两个数组之间放置一个if条件。在我的表单中,有一些输入不需要验证,如果他的父div仍然是隐藏的。(我的表单分隔了div,隐藏了一些)。

$validate = new Validate;
    $validation = $validate->check($_POST, array(
                'nom' => array('required' => true),
                'prenom' => array('required' => true),
                'adresse' => array('required' => true),
                'ville' => array('required' => true),
                'codepostal' => array('required' => true),
                'depuis' => array('required' => true),
                'telephone' => array('required' => true),
                'loyer' => array('required' => true),
                'valeur' => array('required' => true),
                'solde' => array('required' => true),

例如,我想输入

$validate = new Validate;
    $validation = $validate->check($_POST, array(
                'nom' => array('required' => true),
                'prenom' => array('required' => true),
                'adresse' => array('required' => true),
                'ville' => array('required' => true),
                'codepostal' => array('required' => true)));
            if (Input::get('myinput') == 'on') {
                  'depuis' => array('required' => true),
                  'telephone' => array('required' => true),
            }
    $validation .= $validate->check($_POST, array(      
                'loyer' => array('required' => true),
                'valeur' => array('required' => true),
                'solde' => array('required' => true)));

但是,是的,你猜到了,它没有那么容易工作,有什么想法吗?

试一下

       $validate = new Validate;
        $inputarr[]=array();
        $inputarr[]=array(
                    'nom' => array('required' => true),
                    'prenom' => array('required' => true),
                    'adresse' => array('required' => true),
                    'ville' => array('required' => true),
                    'codepostal' => array('required' => true));
                  );
        if (Input::get('myinput') == 'on') {
        $inputarr[]=array(
                  'depuis' => array('required' => true),
              'telephone' => array('required' => true),
           );
        }
       $inputarr[]= array(      
            'loyer' => array('required' => true),
            'valeur' => array('required' => true),
            'solde' => array('required' => true)
       );
       $validation = $validate->check($_POST, $inputarr);

好了,经过一番研究,我发现以下是最好的:

首先,需要使用array_merge();

例如

$validate = new Validate;
        $infoproValidate = array(
            'nom' => array('required' => true),
            'prenom' => array('required' => true),
            'adresse' => array('required' => true),
            'ville' => array('required' => true),
            'codepostal' => array('required' => true),
            'depuis' => array('required' => true),
            'telephone' => array('required' => true),
            'loyer' => array('required' => true),
            'valeur' => array('required' => true),
            'solde' => array('required' => true),
            'employeur' => array('required' => true),
            'fonction' => array('required' => true),
            'adressePro' => array('required' => true),
            'villePro' => array('required' => true),
            'telephonePro' => array('required' => true),
            'temps' => array('required' => true),
            'salaire' => array('required' => true),
            'concessionnaire' => array('required' => true),
            'marque' => array('required' => true),
            'modele' => array('required' => true),
            'annee' => array('required' => true),
            'kilometrage' => array('required' => true),
            'prix' => array('required' => true));
        if(Input::get('depuis') == '2 ans et moins') {
            $infoAncien = array(
                'adresseAncien' => array('required' => true),
                'codepostalAncien' => array('required' => true),
                'villeAncien' => array('required' => true),
                'telephoneAncien' => array('required' => true)
            );
        } else {
            $infoAncien = array();
        }
        $resultArr = array_merge((array)$infoproValidate, (array)$infoAncien);

希望对大家有所帮助