我要做的是在两个数组之间放置一个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);
希望对大家有所帮助