CodeIgniter表单验证问题

时间:2013-04-14 00:24:36

标签: php codeigniter validation

通常,我会为表单验证设置规则,如果它们没有通过,我会使用$this->load->view()并再次加载表单。

Firefox和Opera一切正常。但是在所有其他浏览器中,当表单验证未通过并且表单再次加载时,文档将被取消格式化。我使用HTML Tidy检查我是否错过了关闭标签或其他东西,但一切都很好。

我还使用W3C HTML5 Validator检查了源代码。文件通过没有错误。然后,我运行表单验证并再次检查相同的源代码。这次验证器有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 个答案:

答案 0 :(得分:2)

问题是我的应用程序中有两个带有BOM文件的UTF-8。 因此,如果表单验证返回false并且重新加载视图,则在EF BB BF导致这些错误之前,在文档的开头添加了字节集<!DOCTYPE html>。 所以我将两个文件保存为UTF-8,没有BOM编码,现在一切正常。