如何在单个IF上内联验证多个表单


How to validate multiple forms inline on a single IF?

为了逻辑和更快的目的,每当你让PHP使用and条件尝试两个语句时,如果第一个失败,他就不会尝试第二个。。。出于逻辑和更快的目的,这确实很漂亮,但在我的情况下,我需要知道第二条语句是否也不起作用,所以我不需要让用户多次浏览同一页面,因为错误与以前不同。。。

所以,假设我有这个:

    if ($firstModel->validate() && $secondModel->validate()) {$sayCheese;}

我如何让它两者都试?

我确实考虑过将模型分开,但我只想知道是否有其他选择。

编辑:我的表单同时有多个针对不同模型的插入,因此如果仅针对单个模型,验证效果很好,而且由于我需要同时尝试两个或多个,因此必须不要停留在第一个语句。

if ($firstTry & $thenTry) {$sayCheese;}

这将执行逐位和,并检查$thenCtry,即使$firstTry为false。

编辑:注意,我只是天真地回答你的问题,但我不完全确定你为什么会现实地想这样做。

您应该考虑拆分检查和if条件

$firstTry = checkOne();
$thenTry = checkTwo();
if ($firstTry && $thenTry) {
    echo $sayCheese;
} else {
    echo "check 1: ".($firstTry ? 'ok' : 'bad')."<br>";
    echo "check 2: ".($firstTry ? 'ok' : 'bad')."<br>";
}