JQuery validation: Uncaught TypeError: cannot call 'call' method from undefined

I always get an error

Uncaught TypeError: Cannot call method 'call' of undefined 

when I type the correct email address on my form. Individual massages do not work either. The function ?module=auth&action=registration works correctly (it returns the string "false" or "true").

I use this plugin: JQuery validation plugin .

I think the problem in these files is below.

custom.validation.js

 $(document).ready(function() { $("#reg").validate({ rules: { 'u1[firstName]': "required", 'u2[firstName]': "required", 'u1[lastName]' : "required", 'u2[lastName]' : "required", 'u1[email]' : { "required" : true, "email" : true, "remote" : { url: '?module=auth&action=checkemail', type: "post", data: { 'u1[email]': function() { console.log($("#email1").val()); return $("#email1").val(); } } }, 'u2[email]' : "required" }, messages: { 'u1[firstName]': { required: "My requied text" } } } }); }); 

and form :

 <fieldset> <label for="imie" >Name:</label> <input type="text" name="u1[firstName]"{if $smarty.post.u1.firstName} value="{$smarty.post.u1.firstName}"{/if}> <label for="nazwisko" >Lastname:</label> <input type="text" name="u1[lastName]" {if $smarty.post.u1.lastName} value="{$smarty.post.u1.lastName}"{/if}> <label for="adresEmail">E-mail:</label> <input type="text" name="u1[email]" id="email1" {if $smarty.post.u1.email} value="{$smarty.post.u1.email}"{/if}> </fieldset> <fieldset> <button type="submit">Send</button> </fieldset> 

+4
source share
1 answer

messages is a standalone option, but you accidentally placed it inside rules that breaks the plugin.

It seems to work without errors when this syntax is fixed. (BTW, code is easier to diagnose when it is correctly missing and tabs.)

DEMO: http://jsfiddle.net/sERPT/

 $(document).ready(function () { $("#reg").validate({ rules: { 'u1[firstName]': "required", 'u2[firstName]': "required", 'u1[lastName]': "required", 'u2[lastName]': "required", 'u2[email]': "required", 'u1[email]': { required: true, email: true, remote: { url: '?module=auth&action=checkemail', type: 'post', data: { 'u1[email]': function () { console.log($("#email1").val()); return $("#email1").val(); } } } } }, messages: { 'u1[firstName]': { required: "My requied text" } } }); }); 
+3
source

All Articles