如何使用换行符在SweetAlert上输出CodeIgniter验证错误消息?

时间:2018-04-28 03:32:54

标签: javascript alert codeigniter-3 line-breaks sweetalert

控制器文件中的

这就是我对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
    });
}

SweetAlert上的输出:

这是Name1字段错误消息。<br/>这是Name2字段错误消息。<br/>这是Name3字段错误消息。

2 个答案:

答案 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
    });
}