#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 перестал работать, когда они работали раньше. Я совершенно не уверен, как сформулировать вопрос, охватывающий так много форм