Tengo una función de validación que devuelve true
o false
.
Sin embargo, quiero que proporcione información como cuál es el problema, cuando hay uno.PHP - Función de validación para devolver true | false, Y un mensaje si es falso
Digamos que la función es la siguiente:
function is_valid($val) {
$result = true;
if(rule_1_not_met) $result = false;
if(rule_2_not_met) $result = false;
return $result;
}
que se utiliza como esto
$val = $_GET['some_param'];
if(!is_valid($val)) $out .= 'Not so helpful feedback.';
...
pensé que podría cambiar de esta manera:
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;
}
y utilizarlo como este:
$val = $_GET['some_param'];
$validation_result = is_valid($val);
if(!$validation_result[0]) $out .= implode('<br/>', $validation_result[1]);
...
Mi pregunta es
- estoy yo en, por resultados inesperados con esto?
- ¿Hay mejores formas de lograr esto?
P.S. Haría que esta comunidad wiki
no ve un vínculo para hacer de esta comunidad wiki. ¿Cómo se hace eso? –
Puede marcarlo para la atención del moderador y escribir una breve nota. Pero esta no es una pregunta wiki de la comunidad. –
@Felix Kling: Lo dije porque podría ser difícil no aceptar más de una respuesta. Esperará para ver qué viene. –