【发布时间】:2018-07-24 09:04:13
【问题描述】:
我有一个验证函数,它返回true 或false。
但是,我希望它提供有关问题是什么的信息,如果有的话。
假设函数是这样的:
function is_valid($val) {
$result = true;
if( rule_1_not_met ) $result = false;
if( rule_2_not_met ) $result = false;
return $result;
}
这样用的
$val = $_GET['some_param'];
if(!is_valid($val)) $out .= 'Not so helpful feedback.';
...
我想我可以这样改:
function is_valid($val) {
$result = array(true, array());
if( rule_1_not_met ) $result[1][] = 'Reason 1';
if( rule_2_not_met ) $result[1][] = 'Reason 2';
if(count($result[1]) > 0) $result[0] = false;
return $result;
}
并像这样使用它:
$val = $_GET['some_param'];
$validation_result = is_valid($val);
if(!$validation_result[0]) $out .= implode('<br/>', $validation_result[1]);
...
我的问题是
- 我会因为这个意外的结果而参与进来吗?
- 有没有更好的方法来实现这一点?
附:将使这个社区维基
【问题讨论】:
-
看不到创建此社区 wiki 的链接。这是怎么做到的?
-
您可以标记它以引起版主注意并写一个简短的说明。但 imo 这不是社区 wiki 问题。
-
@Felix Kling:我这么说是因为可能很难不接受多个答案。不过会等着看会发生什么。
-
没有理由这需要是 cwiki