Убрать объект fields? Ну а нафига тогда настройки по-умолчанию сделали? Нет, а как в других плагинах делают, когда нужно передать объект в объекте?
Короче, промаявшись в опциями, а понял, что ничего нормально не работает из-за тупой передачи данных в методы плагина. Переписал, но все равно не работает, не передаются опции.
if(methods[method])
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
else if(typeof method === 'object')
return methods.init.apply(this, method);
else if(!method)
return methods.init.apply(this, {});
else
$.error('Метод с именем ' + method + ' не существует для jQuery.formValidation');
Если тут сделать alert(method), то браузер покажет следующее, в зависимости от переданных параметров:
initialize('someMethod', options) //Выведит: someMethod
initialize('someMethod') //Выведит: someMethod
initialize(options) //Выведит: [Object] object
Казалось бы, вот - передаем так initialize(options) - в метод init передастся объект с настройками. А мы видим, когда сделаем alert(options) в:
init: function(options)
{
settings = jQuery.extend(settings, options);
alert(options);
...
}
Мы увидим undefined! Что за хрень?
Объясните и покажите кто-нибудь, как передавать названия методов и настроек в плагин?!