1

我有一个名为 event_date 的列。如果用户尝试在未填写 event_date 列的情况下提交信息并阻止进一步执行,我想警告用户。这是我定义我的专栏的方式:

header: 'Event_date',
            width: 115,
            dataIndex: 'event_time',
            renderer: this._renderExactDate,
            field: {
                type: 'textfield'
            }

我的渲染功能是:

_renderExactDate: function(date) {
        if (date == '0000-00-00 00:00:00' || date == undefined) {
            Ext.MessageBox.show({
            title: 'New event',
            msg: 'You must set a date',
            icon: Ext.MessageBox.ERROR,
            buttons: Ext.Msg.OK
        });
      } 
      else
          {
              return date;
          }
    }

但是观察。渲染器不是做到这一点的方法,但我还没有找到一种方法来做到这一点。

谢谢

勒隆

4

1 回答 1

1

如果这是使用 ExtJS4,那么您应该使用模型字段验证字段来设置接受的格式。如果任何标准不符合要求,请编写自定义标准。然后,您可以在尝试同步之前检查模型是否有效,并相应地标记警告。

您要参与的活动就是这个。然后您可以获取记录/模型并在生成警告之前检查其“isValid”方法。

链接:Ext.grid.plugin.CellEditing validateedit事件

于 2012-04-10T17:06:23.023 回答