Creating a form with GET bypases the validation and submit I am creating a simple form, when sumits, shows result from an external API.
But URL remain the same, so you cant get a url if your search result and send it to someone.

But when I use get 

$form['method'] = 'get';


It shows a construted url..

mysite.com/search?cat=2$coutry=3


But it donot fetch the result, cause it is bypassing the submit and validation functions. 
Any help?
Have the page or form check for the presence of your variables, using drupal_get_query_parameters(), and if present, perform validation checks and get results from the external API, and display.

For example,

$params = drupal_get_query_parameters();
if ( isset($params['cat']) ) {
  //validate $params['cat']
    if ( myValidationCheck($params['cat']) ) {
      $results = myExternalAPIGetResults($params['cat']);
      $form['results'] = myResultsDisplay($results);
    }
  }