wenzhixin Bootstrap表可编辑:在服务器验证时显示错误

时间:2017-07-16 23:24:34

标签: x-editable bootstrap-table

我正在使用引导表Editable。温志新引导表的延伸。

Bootstrap Table Editable

我正在使用OnEditable将数据发送到服务器(使用Laravel来处理服务器请求)。我收到错误代码以换取结果。但我似乎无法找到一种方法来显示可编辑弹出窗口上的错误或阻止新值被旧值替换。与我们验证输入时的错误显示一样。

我已检查过Editable->成功但它只有新值。响应参数始终未定义。

这是我的代码:

var table = $('#table');
       table.bootstrapTable({
        columns: [
            {
                field: 'roomType'
            },
            {
                field: 'Mon',
                editable: {
                    type: 'number',
                    title: 'Update Rates',
                    validate: function (v) {
                        if (!v) return 'Please Enter Rate Value';
                        if (parseFloat(v) < 0) return 'Rate should be greater than 0';
                    }
                }
            }
        ],
        onEditableSave: function (field, row, oldValue, $el) {

            var data = {
                '_token': window.Laravel.csrfToken,
                'Field': field,
                'PK': row['_'+field+'_data'].pk,
                'oldValue': oldValue,
                'newValue': row[field]
            };

            $.post("Url", data)
                    .success(function(data, textStatus, xhr) {
                        if (data.success) {
                        }
                        else{
                            switch (data.code) {
                                case 400:
                                    return data.msg;
                                    break;

                                case 403:
                                    return data.msg;
                                    break;

                                case 401:
                                    return data.msg;
                                    break;
                            }
                        }
                    })
                    .fail(function(data, textStatus, xhr) {
                        return 'Something went wrong.';
                    });
        }
    });

我期待这种错误显示:

Output To be Expected

1 个答案:

答案 0 :(得分:0)

我无法获得所需的输出,以显示弹出窗口上的错误。但是我得到了一个解决方法。

Sol:我用$ el [0] .text = oldValue替换错误的旧值;并在一些警报手段中显示错误。

由于

                    $.post(URL, data)
                        .success(function(data, textStatus, xhr) {
                            if (data.success) {
                            }
                            else{
                                switch (data.code) {
                                    case 400:
                                        $el[0].text = oldValue;
                                        ShowError(data);
                                        break;

                                    case 403:
                                        $el[0].text = oldValue;
                                        ShowError(data);
                                        break;

                                    case 401:
                                        $el[0].text = oldValue;
                                        ShowError(data);
                                        break;
                                }
                            }
                        })
                        .fail(function(data, textStatus, xhr) {
                            $el[0].text = oldValue;
                            ShowError('Something Went Wrong');
                        });