如何使用PHP显示动态错误消息?


How can I show dynamic error message using PHP?

我有一个html表单,这个表单是通过jQuery/Ajax请求PHP验证。

目前它工作得很好。现在我想展示一个动态错误消息。

例如:

我正在使用以下函数验证整数:

function only_number ($string) {    
    if( preg_match('/^[0-9]+$/', $string ) ) {
        return true;
    } else {
        return false;
    }
}

这个函数是通过以下方式实现的:

$msg = array();
$msg['error'] = false;
if(empty($emp_id)) {
    $msg[] = 'Select assign to';
    $msg['error'] = true;
} elseif( only_number($emp_id) === false ) {
    $msg[] = 'Assign to must be numeric value';
    $msg['error'] = true;
}
echo json_encode($msg); 

你看到我显示错误信息

Assign to必须是数值

中的函数实现页面,例如update.php

每次都要输入好几种类型的错误信息,非常耗时。

现在,我想在函数中写这个错误消息,它将在验证页面上显示/实现,如:update.php页面。

可以从函数返回数组。例句:

function only_number ($string) {    
    $result = array(
        'success' => false,
        'error' => '',
    );
    if( preg_match('/^[0-9]+$/', $string ) ) {
        $result['success'] = true;
    } else {
        $result['error'] = 'Assign to must be numeric value';
    }
    return $result;
}

和检查:

if (empty($emp_id)) {
    $msg[] = 'Select assign to';
    $msg['error'] = true;
} else {
    $check = only_number($emp_id);
    if ($check['success'] == false) {
        $msg[] = $check['error'];
        $msg['error'] = true;
    }
}

除了返回true/false之外,您还可以返回带有错误消息

的字符串。
function only_number ($string) {    
if (empty ($string) return 'Select assign to';    
if(!preg_match('/^[0-9]+$/', $string ) ) return 'Assign to must be numeric value';
else return 'no error';
}

代码中的下一个

if (only_number($emp_id) <> 'no error') echo (json_encode(only_number($emp_id)));