php - 使用无脚本重新填充表单和显示错误的最佳方法是什么?

标签 php javascript noscript

我正在构建一个使用 ajax 调用进行表单验证和其他一些应用程序,问题是当这些验证错误出现在一个根本没有 css 的新页面上并且表单完全被重置时我不喜欢它javascripts.

我说的是一打表单,所以用户一遍又一遍地浏览表单会很烦人。

我已经阅读了关于这个主题的一些答案,但是对于这种情况(更多的是表单验证),是否有特定的方法、最佳实践?

如果已经有答案,我们深表歉意。

编辑:

所有验证都在服务器端完成,目前错误是在 ajax 的帮助下显示的。我想要的是一种方便的方法,用于在处理表单时发生错误时无需 javascript 即可重新填充表单和显示错误。

最佳答案

我不确定您的问题是否暗示您没有在服务器上进行验证 - 这将被视为一个巨大的安全漏洞,因为很明显可以通过简单地禁用 Javascript 来绕过表单。您必须每次都在服务器中进行验证,而客户端验证非常好。

此外,当您使用合适的框架时,重新加载页面时让表单自行重置的“问题”变得没有实际意义——在 Python 中,Django 会在出现错误时自动重新填充表单。在 PHP 中,CakePHP 和 CodeIgniter 也是如此,我相信大多数优秀的框架都会这样做,因为它属于框架应该抽象掉的“常见任务”类别。

每当我不使用框架时,我都会编写自己的小 Form 类来满足需要。

编辑:

我不知道您可以插入什么来重新填充表单。最好的办法是为它编写自己的小类,这应该不会超过 1 小时。

关于php - 使用无脚本重新填充表单和显示错误的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1003132/

相关文章:

javascript - 输入字段内的标签在聚焦时消失

javascript - 在视口(viewport)元标记中设置最小宽度

javascript - 没有 JavaScript 的 GWT?

css - 即使在 IE8 中打开了 javascript,也会出现 noscript 标签

php - MySql查询或合并数组为1

php - PHP 和 MySQL 的时区问题

javascript - 如何使用 Jasmine 为 $resource (AngularJS) 定义测试

php - 自动更改MYSQL中的字段

php - 解析错误: syntax error, unexpected T_OBJECT_OPERATOR, expecting ')' [closed]

vue.js - Nuxt.config.js noscript innerHtml 在浏览器上渲染