You can handle CurrentCellValidating. Here is a snippet for the problem you sited.
private void grid_CurrentCellValidating(object sender, CancelEventArgs e)
{
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
if(cc.ColIndex == 3 && cc.Renderer.ControlText.Length == 0)
{
e.Cancel = true;
this.gridDataBoundGrid1.CurrentCell.ErrorMessage = "No empty values";
}
}