这就是我对json_encode验证错误的看法:
if ($this->form_validation->run() == FALSE) { //if validation does not run
$errors = $this->form_validation->error_array();
echo json_encode(['error' => true, 'errors' => $errors]);
}
if (res.errors) {
var errorMsgs = "";
errorMsgs += res.errors.name1 ? res.errors.name1 + "<br/>" : ""; //only if have an error msg.
errorMsgs += res.errors.name2 ? res.errors.name2 + "<br/>" : ""; //only if have an error msg.
errorMsgs += res.errors.name3 ? res.errors.name3 : ""; //only if have an error msg.
// SweetAlert
swal({
text: errorMsgs // error msg
});
}
这是Name1字段错误消息。<br/>
这是Name2字段错误消息。<br/>
这是Name3字段错误消息。
答案 0 :(得分:3)
自己找到了解决方案。 :d
只需使用“\ n”代替“<br>
”!
errorMsgs += res.errors.name1 ? res.errors.name1 + "\n" : "";
答案 1 :(得分:3)
案例https://sweetalert.js.org/ VS https://sweetalert2.github.io/
For:https://sweetalert.js.org/
正如文档所说:不再使用html。
https://sweetalert.js.org/docs/
而是使用内容对象。
swal({
content: "input",
});
For:https://sweetalert2.github.io/
如果你使用这个SweetAlert2
插件来自这里
https://sweetalert2.github.io/
您可以使用html
swal({
title: "<i>Title</i>",
html: 'A custom message.</br> jkldfjkjdklfjlk',
});
使用第二个插件:
<script src="https://unpkg.com/sweetalert2@7.19.1/dist/sweetalert2.all.js"></script>
你可以使用html
:
if (res.errors) {
var errorMsgs = "";
errorMsgs += res.errors.name1 ? res.errors.name1 + "<br/>" : ""; //only if have an error msg.
errorMsgs += res.errors.name2 ? res.errors.name2 + "<br/>" : ""; //only if have an error msg.
errorMsgs += res.errors.name3 ? res.errors.name3 : ""; //only if have an error msg.
// SweetAlert
swal({
html: errorMsgs // error msg
});
}