我有它返回要麼true
或false
驗證功能。
不過,我希望它提供以信息是什麼問題,當有一個。PHP - 驗證函數返回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]);
...
我的問題是
- 我是在爲這個意外的結果?
- 是否有更好的方式來實現這一目標?
P.S.將使這個社區維基
不要看到一個鏈接,使這個社會的維基。這是如何完成的? – 2011-04-23 15:27:45
您可以將其標記爲主持人注意並寫一個簡短說明。但是,這不是一個社區維基問題。 – 2011-04-23 15:28:35
@Felix Kling:我說過,因爲可能很難不接受多個答案。將等待,看看會發生什麼。 – 2011-04-23 15:33:12