我正在使用AJAX / php表单。
if (strlen($name) < 4) { // If length is less than 4 it will output JSON error.
$output = json_encode(array('type' => 'error', 'text' => '<br /> - ' . _t('"Naam" field contains invalid value')));
die($output);
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { //email validation
$output = json_encode(array('type' => 'error', 'text' => '<br /> - ' . _t('"E-mail" field contains invalid value')));
die($output);
}
if (strlen($subject) < 3) { //check emtpy message
$output = json_encode(array('type' => 'error', 'text' => '<br /> - ' . _t('"Onderwerp" field contains invalid value')));
die($output);
}
if (strlen($message) < 3) { //check emtpy message
$output = json_encode(array('type' => 'error', 'text' => '<br /> - ' . _t('"Vraag" field contains invalid value')));
die($output);
}
AJAX脚本:
$.post('contact_form', post_data, function (response) {
if (response.type == 'error') { //load json data from server and output message
output = '<div class="error">' + response.text + '</div>';
} else {
output = '<div class="success">' + response.text + '</div>';
//reset values in all input fields
$("#contact_form input[required=true], #contact_form textarea[required=true]").val('');
$("#contact_form #contact_body").slideUp(); //hide form after success
}
$("#contact_form #contact_results").hide().html(output).slideDown();
}, 'json');
如果有任何错误,上面的代码将形成并输出。 我的问题是我只收到1个错误。我怎样才能收到json对象中的所有错误?
答案 0 :(得分:0)
这样的事情会给出所有错误。它将每个错误都推送到一个数组中并返回整个数组,而不是在出现一个错误后退出
$output = array();
if (strlen($name) < 4) { // If length is less than 4 it will output JSON error.
$output[] = array('type' => 'error', 'text' => '<br /> - ' . _t('"Naam" field contains invalid value'));
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { //email validation
$output = array('type' => 'error', 'text' => '<br /> - ' . _t('"E-mail" field contains invalid value'));
}
if (strlen($subject) < 3) { //check emtpy message
$output[] = (array('type' => 'error', 'text' => '<br /> - ' . _t('"Onderwerp" field contains invalid value'));
}
if (strlen($message) < 3) { //check emtpy message
$output[] = array('type' => 'error', 'text' => '<br /> - ' . _t('"Vraag" field contains invalid value'));
}
if (count($output)) die(json_encode($output));
您还必须遍历这些错误并在JS中显示所有错误