【问题标题】:wenzhixin Bootstrap Table Editable: Show Error on server validationwenzhixin Bootstrap Table Editable: Show Error on server validation
【发布时间】:2017-07-16 23:24:33
【问题描述】:

我正在处理可编辑的引导表。文之心Bootstrap Table的扩展。

Bootstrap Table Editable

我正在使用 OnEditable 向服务器发送数据(使用 Laravel 处理服务器请求)。我收到关于结果的错误代码作为回报。但我似乎找不到在可编辑弹出框上显示该错误或防止新值被旧值替换的方法。就像我们验证输入时显示的错误一样。

我已经检查了 Editable->success,但它只有新值。响应参数始终未定义。

这是我的代码:

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

【问题讨论】:

    标签: x-editable bootstrap-table


    【解决方案1】:

    我无法获得所需的输出,以在弹出框上显示错误。但我有一个解决办法。

    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');
                            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      相关资源
      最近更新 更多