我有一个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)));