gpt4 book ai didi

php - 流行的 PHP 框架如何处理表单输入错误?

转载 作者:搜寻专家 更新时间:2023-10-31 21:18:58 26 4
gpt4 key购买 nike

例如,我知道 Zend Framework 具有使用验证器创建表单元素的功能。但是现在,假设用户输入了完全无效的垃圾数据。接下来会发生什么?比方说JS部分出错或者JS被禁用,服务端收到垃圾数据。

“大”PHP 框架如何从概念上处理这个问题?如果您知道,请提及框架并进行描述。这会很有帮助。

错误消息是如何返回到表单的,又是如何显示的?这在技术上是如何完成的?

在我看来,理论上应该是这样的:

  1. 用户输入垃圾
  2. 用户提交表单(JS 验证失败、JS 停用等)
  3. PHP 脚本接收垃圾输入
  4. PHP 脚本验证服务器端的垃圾输入。所有字段 = FALSE,GARBAGE。
  5. 每次字段验证失败时,PHP 脚本都会将输入错误消息写入数组。
  6. 错误消息数组是一个映射(关联数组),其中键是表单元素名称
  7. 由于输入错误,脚本再次加载表单
  8. 表单脚本具有显示错误消息数组中的字段输入错误的所有逻辑
  9. 用户看到漂亮的错误消息并重新输入垃圾。
  10. 一遍又一遍。
  11. 直到一切正常 > 脚本保存数据并显示大的 THANKS 消息。

我不知道其他的,但如果有,我需要知道 ;-)

有些事情告诉我这不是最好的解决方案。

最佳答案

首先,除非您使用支持 Dojo 的表单,否则 Zend Framework 与 javascript 无关。 JS 验证要么由您自己编写,要么绑定(bind)到支持 Dojo 的表单中。

验证包括遍历每个 ZFE 并检查它的验证器。如果发生错误,它将作为错误消息存储在 ZFE 中。当您再次显示表单时,如果您使用默认的装饰器,那么您将加载 Zend_Form_Decorator_Errors,它用错误消息“装饰”元素。

我建议从 isValid() 方法开始阅读 Zend_Form 的源代码。阅读和查看正在发生的事情非常简单。

关于php - 流行的 PHP 框架如何处理表单输入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com