Make custom Ajax form validation for form submittion

Categories

Component ID

2186141

Component name

Make custom Ajax form validation for form submittion

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body


function mycustom_menu(){
$items['mycustom'] = array(
	'title'=>t('Mymenu'),
	'page callback'=>'mycustomform',
	/* 'page arguments' => array('mycustomform'), */
	 'access callback'=> TRUE,
	'type'=> MENU_CALLBACK
);
return $items;
}

function mycustomform($form, &$form_state) {

  $form["wrapper"] = array("#markup" => "<div class='inline-messages'></div>");

  $form["name"] = array(
    "#type" => "textfield", 
    "#required" => true,
    "#title" => "Name"
  );

  $form["submit"] = array(
    "#type" => "submit", 
    "#value" => "Send", 
    "#ajax" => array(
      "callback" => "productsearchbar_savesearch_form_callback", 
      "wrapper" => "mycustomform", 
      "effect" => "fade"
    )
  );

  return $form;
}

function productsearchbar_savesearch_form_callback($form, &$form_state) {
  $messages = theme('status_messages');

  if($messages){
    $form["wrapper"] = array("#markup" => "<div class='inline-messages'>$messages</div>");
  }
  return $form;
}

function productsearchbar_savesearch_form_validate($form, &$form_state) {
  if ($form_state['values']['name'] == '') {
   form_set_error('', t('Name field is empty!'));
  }
}

function mycustomform_submit($form, &$form_state) {
  drupal_set_message(t('Your form has been saved.'));
}