2012-04-10 3 views
1

У меня есть столбец с именем event_date. Я хочу предупредить пользователя, если он попытается отправить информацию без заполнения столбца event_date и предотвратить дальнейшее выполнение. Вот как я определяю свою колонку:ExtJS проверяющее значение ячейки перед отправкой

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

но OBV. renderer - это не способ сделать это, но я не нашел способ сделать это.

благодаря

Leron

ответ

1

Если используется ExtJS4, то вы должны использовать model field validations поле, чтобы установить принятый формат. Напишите пользовательскую, если какой-либо из стандартов не соответствует законопроекту. Затем вы можете проверить, действительно ли модель действительна до любых попыток синхронизации и соответствующего предупреждения.

Событие, в которое вы хотите подключиться, - это этот. Затем вы можете получить запись/модель и проверить свой метод isValid перед генерированием вашего предупреждения.

Ссылка: Ext.grid.plugin.CellEditing validateedit событие

+0

Да, его ExtJS4, но мне интересно там не способ слушать какое-то событие, как размытие() и когда фокус находится вне этой области, чтобы вызвать функцию, которая должна проверить, если подано осталось пустым? Есть ли способ сделать это? – Leron

+0

Я добавил ссылку на мероприятие, которое вы хотите в решении. –

+0

Thnaks за помощью. Ссылка не работает, хотя :( – Leron

Смежные вопросы