如何验证数据表中的 w2ui 列?

How can I validate w2ui columns in a datatable?

我应该使用什么事件来验证数据表中字段中的值? 例如,我需要确保一个字段不为空。我知道将数据发送到服务器时可以捕获此错误。我可以在提交中间件之前捕获错误并突出显示特定字段吗?

我试过使用 onEditField 事件。这在输入新值之前完成,因此事件无需评估。

您应该使用 onChange 事件。

Fiddle

$(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(...)