It might be the case that you are using you JS validation before enqueuing this script.
You code may be like..
<html>
$("#myForm").validate(); or JS file that uses validate()
jquery.validate.js here
</html>
Above code is just for demonstrating.
So you are using validate()
function before it has been enqueued so it is throwing validate()
is not a function.
Make sure you are using your validate() function after your jquery.validate.js has been enqueued.
Updated Answer
As per your update made, here you are using wp_enqueue_scripts twice which is not needed.
What I understand till now is your sdForms.js contains your validate() method, but still you are loading your jquery.validate.js after sdForms.js.
So the updated code will be :
//Enqueue Validation plugin
function sd_validation_script() {
wp_enqueue_script( 'jqeury' ); // add jqeury
wp_register_script('formValidation', 'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js', array('jquery'));
wp_enqueue_script('formValidation'); // add formValidation plugin
wp_register_script( 'sdForms', plugin_dir_url( __FILE__ ) . 'js/sdForms.js' );
wp_enqueue_script( 'sdForms' ); // add sdForms after formValidation
}
add_action('wp_enqueue_scripts', 'sd_validation_script');