如何验证数据表中的 w2ui 列?
How can I validate w2ui columns in a datatable?
我应该使用什么事件来验证数据表中字段中的值?
例如,我需要确保一个字段不为空。我知道将数据发送到服务器时可以捕获此错误。我可以在提交中间件之前捕获错误并突出显示特定字段吗?
我试过使用 onEditField 事件。这在输入新值之前完成,因此事件无需评估。
您应该使用 onChange
事件。
$(function () {
$('#grid').w2grid({
name: 'grid',
columns: [
{ field: 'fname', caption: 'First Name', size: '30%', editable: {type: 'text'} },
],
records: [
{ recid: 1, fname: "Name1"},
{ recid: 2, fname: "Name2"}
],
onChange : function(event){
event.done(function(ev){
console.log(ev);
});
}
});
});
来自docs:
Called when user changes any field in the editable row.
在上面的示例中,如果将 Name2
更改为 Name3
,事件对象将包含:
{
...
"value_new": "Name3",
"value_previous": "Name2",
"value_original": "Name2",
}
事件对象还将包含更多信息,例如列和记录索引,因此您确实可以根据需要根据新值突出显示单元格/行。
如果您使用的是 w2ui 1.4,请使用 event.onComplete = function(ev){...}
而不是 event.done(...)
。
我应该使用什么事件来验证数据表中字段中的值? 例如,我需要确保一个字段不为空。我知道将数据发送到服务器时可以捕获此错误。我可以在提交中间件之前捕获错误并突出显示特定字段吗?
我试过使用 onEditField 事件。这在输入新值之前完成,因此事件无需评估。
您应该使用 onChange
事件。
$(function () {
$('#grid').w2grid({
name: 'grid',
columns: [
{ field: 'fname', caption: 'First Name', size: '30%', editable: {type: 'text'} },
],
records: [
{ recid: 1, fname: "Name1"},
{ recid: 2, fname: "Name2"}
],
onChange : function(event){
event.done(function(ev){
console.log(ev);
});
}
});
});
来自docs:
Called when user changes any field in the editable row.
在上面的示例中,如果将 Name2
更改为 Name3
,事件对象将包含:
{
...
"value_new": "Name3",
"value_previous": "Name2",
"value_original": "Name2",
}
事件对象还将包含更多信息,例如列和记录索引,因此您确实可以根据需要根据新值突出显示单元格/行。
如果您使用的是 w2ui 1.4,请使用 event.onComplete = function(ev){...}
而不是 event.done(...)
。