Field widget do not save values in database! I have a strange problem. I'm designing a new field type using field-API with a widget of course. 
My widget display is ok but when I save a node the field do not save the value entered in the widget..

This is the hook_field_schema()

function MODULE_field_schema($field) {
  $columns = array(
    'streamtype' =&gt; array('type' =&gt; 'varchar', 'length' =&gt; 25, 'not null' =&gt; FALSE),
    'streamtag' =&gt; array('type' =&gt; 'varchar', 'length' =&gt; 25, 'not null' =&gt; FALSE)
  );
  return array(
    'columns' =&gt; $columns,
  );
}


And this in the hook_field_widget_form()

function MODULE_field_widget_form(&amp;$form, &amp;$form_state, $field, $instance, $langcode, $items, $delta, $element) {

      switch ($instance['widget']['type']) {

        case 'MODULE_default_widget':
          $item = $items[$delta];

          $element += array(
            '#type' =&gt; 'fieldset',
            '#delta' =&gt; $delta,
            '#element_validate' =&gt; 'MODULE_field_basic_widget_validate'
          );

          $element['streamtype'] = array(
            '#type' =&gt; 'radios', 
            '#title' =&gt; t('Stream type.'),  
            '#description' =&gt; t('Search images by:'), 
            '#options' =&gt; array('author' =&gt; t('Author name'), 'tag' =&gt; t('Tag')), 
            '#weight' =&gt; isset($element['#weight']) ? $element['#weight'] : 0, 
            '#delta' =&gt; $delta,  
            '#default_value' =&gt; isset($item['streamtype']) ? $item['streamtype'] : NULL
          );

          $element['streamtag'] = array(
            '#type' =&gt; 'textfield',  
            '#title' =&gt; t('Stream tag'),  
            '#description' =&gt; t('Insert author name or tag depending to the selected steam type'),  
            '#required' =&gt; $instance['required'],  
            '#weight' =&gt; isset($element['#weight']) ? ($element['#weight'] + 1) : 0, 
            '#delta' =&gt; $delta,    
            '#default_value' =&gt; isset($item['streamtag']) ? $item['streamtag'] : NULL
          );

          break;

      }

      return $element;
    }


The basic fieldset have a validation function and, in this one i can see the correct value in the $item.
An example from watchdog() 

Array ( [0] =&gt; Array ( [streamtype] =&gt; tag [streamtag] =&gt; tag1, tag2, tag3 ) ) 


Where can i search the error?
Please help me, this problem is driving me crazy T____T
So it turns out Shyghar ran into an issue that I've run into more than I care to tell – which is that hook_field_is_empty() was returning FALSE by checking the wrong data (or something along those lines).