2013-04-14 4 views
0

Как обычно, я устанавливаю правила для проверки формы, а если они не проходят, я использую $this->load->view() и загружаю форму снова.Проблема с проверкой формы CodeIgniter

Все работает отлично с Firefox и Opera. Но во всех других браузерах, когда проверка формы не проходит, и форма загружается снова, документ становится неформатированным. Я использовал HTML Tidy, чтобы проверить, пропустил ли я или закрыл тег или что-то еще, но все в порядке.

Я также проверил исходный код с помощью W3C HTML5 Validator. Документ прошел без ошибок. Затем я запустил проверку формы и снова проверил тот же исходный код. На этот раз валидатор trew 5 ошибок.

Line 2, Column 1: Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>. 
<!DOCTYPE html> 

Line 2, Column 1: Element head is missing a required instance of child element title. 
<!DOCTYPE html> 
Content model for element head: 
If the document is an iframe srcdoc document or if title information is available from a higher-level protocol: Zero or more elements of metadata content. 
Otherwise: One or more elements of metadata content, of which exactly one is a title element. 

Line 2, Column 16: Stray doctype. 
<!DOCTYPE html> 

Line 3, Column 19: Stray start tag html. 
<html lang="pt-br"> 

Line 3, Column 19: Cannot recover after last error. Any further errors will be ignored. 
<html lang="pt-br"> 

Я знаю, что, когда есть что-то перед <!DOCTYPE html> вещи могут получить плохо. Но у меня нет никакой переменной. Может быть, CI что-то порождает.

Есть ли кто-нибудь, кто может помочь?

+1

Проверьте, что ваши теги в разделе написаны правильно и правильно, пример вашего HTML-кода очень поможет. – David

+1

Если ваша проблема решена, plaese опубликуйте решение в качестве ответа и примите его (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) – ollo

+0

Если бы я мог опубликовать свой ответ, я бы! Это мой первый вопрос. Люди закрываются, редактируют, делают с ними все, что захотят. Я не контролирую свои вещи. Теперь я не могу удалить его. Что случилось с тем, что я могу полностью контролировать это? Ответ: я hd файлы UTF-8 с BOM и затем я сохранил файлы в UTF-8 без спецификации, и теперь все работает нормально. – RGutter

ответ

2

Проблема была в моем приложении было два UTF-8 с BOM-файлами. Итак, если проверка формы возвращает false, а представление перезагружается, набор байтов EF BB BF был добавлен в начале документа до появления <!DOCTYPE html>, вызывающего эти ошибки. Итак, я сохранил эти два файла в UTF-8 без кодировки BOM, и теперь все работает нормально.

Смежные вопросы