Ошибка проверки скрипта Jquery

#php #jquery #jquery-validate

#php #jquery #jquery-проверка

Вопрос:

Это действительно смущающий вопрос. У меня возникла проблема с проверкой скрипта, и я понятия не имею, почему. Firebug сообщает мне, что jquery загружен, validation.js загружается, пользовательский интерфейс Jquery загружается, и все хорошо. Скрипт находится на включенной странице js и загружен.(делает то же самое, если скрипт включен в файл php или включен. Jquery 1.6.4

Ошибка, которую я получаю от firebug: отсутствует } после публикации списка свойств: {

Очевидно, что } есть. Я ничего не могу найти до или после этого, что могло бы вызвать эту проблему. Для меня сценарий выглядит идеально.

 $(function(){             
  $("#postform").validate({
    rules: {
        title:{
            required: true,
            minlength: 8,
            maxlength: 200
        }
        post:{
            required: true,
            minlength: 35
        }
        category: {
            required: true
        }

        date:{
            date: true,
            required: true
        }
        author: {
            required: true,
            minlength: 6,   
            maxlength: 35
        }
    },          
    messages:{
        title:{
            required: "Required input",
            minlength: jQuery.format("At least {8} characters are necessary"),
            maxlength: jQuery.format("No more than {200} characters")
        }
        post:{
            required: "Required input",
            minlength: jQuery.format("At least {35} characters are necessary")
        }
        category: "Please choose a value from the dropdown",

        date: "A date is required",

        author: {
            required: "this field is required",
            maxlength: jQuery.format("No more than {36} characters"),
            minlength: jQuery.format("At least {5} characters are necessary")
        }

    }
});        
});
 

Я использую ajax для обработки формы, но мне кажется, что проверка стоит на первом месте, так что это не должно иметь значения. Я знаю, что это работает.

Я также скажу, что до этого у меня была другая настройка (добавление правил для каждого имени), форма будет проверяться, но все равно будет отправляться в БД даже с недопустимыми полями.

Есть мысли? Я занимаюсь этим уже 2 дня. Надеюсь, кто-то видел это раньше

Ответ №1:

исправить, как в этом примере:

    title:{
        required: true,
        minlength: 8,
        maxlength: 200
    }***,***
    post:{
        required: true,
        minlength: 35
    }
 

Комментарии:

1. Это странная часть. Я добавил запятую вплоть до даты, затем она возвращается к той же исходной ошибке:( когда я добавил запятую в заголовок, как вы отметили, ошибка переместилась в категорию. Я удалил запятые, которые вы также удалили

2. вы также добавили запятую в раздел «сообщения»? (заголовок {}, сообщение{}, категория {})

Ответ №2:

Вам не хватает нескольких запятых , , как показано ниже….

   $("#postform").validate({
    rules: {
        title:{
            required: true,
            minlength: 8,
            maxlength: 200
        },
        post:{
            required: true,
            minlength: 35
        },
        category: {
            required: true
        },

        date:{
            date: true,
            required: true
        },
        author: {
            required: true,
            minlength: 6,   
            maxlength: 35
        }
    },          
    messages:{
        title:{
            required: "Required input",
            minlength: jQuery.format("At least {8} characters are necessary"),
            maxlength: jQuery.format("No more than {200} characters")
        },
        post:{
            required: "Required input",
            minlength: jQuery.format("At least {35} characters are necessary")
        },
        category: "Please choose a value from the dropdown",

        date: "A date is required",

        author: {
            required: "this field is required",
            maxlength: jQuery.format("No more than {36} characters"),
            minlength: jQuery.format("At least {5} characters are necessary")
        }
    }
  });   
 

Комментарии:

1. Это исправлено. Спасибо вам обоим. Спарки, я надеюсь, ты не возражаешь, если я передам это алону. Вы оба были правы, и у алона меньшее число

2. Теперь по-настоящему забавная часть. Несмотря на отсутствие ошибок, форма не проверяется, она отправляет сообщения через ajax и прямо в БД с пустыми полями. Я разберусь с этим. Я замечаю, что в теге открытия формы написано «novalidate=»novalidate»»

3. @Brad, опубликуй новый вопрос для своей новой проблемы проверки. Может быть, я смогу помочь… Я возился с этим плагином всю неделю. Кстати: вы должны выбирать «лучший» ответ в интересах будущих читателей, а не по тому, у кого самая низкая репутация. В конце концов, я потратил время на форматирование всего вашего блока кода, чтобы устранить возможную путаницу в том, в чем заключается проблема.

4. На самом деле, с тех пор, как я перешел на Jquery 1.6.3, ни одна из моих проверок не сработала. Localhost на сайтах веб-codeigniter перестал работать, когда они работали раньше. Я совершенно не уверен, как сформулировать вопрос, охватывающий так много форм