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

时间:2016-08-11 06:43:37

标签: php

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

目前它的工作非常完美。现在我想显示动态错误消息。

对于e。 g:

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

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); 

您看到我显示错误消息

  

分配到必须是数值

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

我需要每次都输入几种类型的错误消息,这非常耗时。

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

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以从函数返回数组。 E.g:

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;
    }
}

答案 1 :(得分:0)

除了返回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)));