wenzhixin Bootstrap Table 可编辑:服务器验证显示错误
wenzhixin Bootstrap Table Editable: Show Error on server validation
我正在研究 bootstrap table Editable。文之信的扩展 Bootstrap Table.
我正在使用 OnEditable 向服务器发送数据(使用 Laravel 来处理服务器请求)。我在 return 中收到有关结果的错误代码。但我似乎无法找到一种方法来在 Editable 弹出窗口上显示该错误或阻止新值被旧值替换。 Like Error shows when We validate the Input.
我检查了 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
我无法获得所需的输出,无法在弹出窗口上显示错误。但我有一个解决办法。
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');
});
我正在研究 bootstrap table Editable。文之信的扩展 Bootstrap Table.
我正在使用 OnEditable 向服务器发送数据(使用 Laravel 来处理服务器请求)。我在 return 中收到有关结果的错误代码。但我似乎无法找到一种方法来在 Editable 弹出窗口上显示该错误或阻止新值被旧值替换。 Like Error shows when We validate the Input.
我检查了 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
我无法获得所需的输出,无法在弹出窗口上显示错误。但我有一个解决办法。
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');
});