Zend Framework 2 - 自定义表单验证

2024-02-23

我需要自定义表单验证。所以我写了一个类似的函数this http://framework.zend.com/manual/2.0/en/modules/zend.validator.writing-validators.html one.

到目前为止,一切都很好。但我确实有问题把 PHP 文件/类放在哪里。

它应该把它放在供应商/作为一个库,这似乎合乎逻辑。我使用了这个路径:vendor/company/Validator/MyValidator.php。但我不知道如何包含我的课程。

谁能给我一个简短的方法来设置供应商模块或使用自定义验证器所需的任何内容?

互联网上有很多教程,但大多数都涉及验证逻辑,而不是 Zend 的“基础知识”。

Thanks!

Edit:

I found 这个链接 https://stackoverflow.com/a/13529998/1331671并配置我的代码如下:

我的代码如下:

        use MyStuff\Validator\CustomValidator as CustomValidator;
        ...
        $inputFilter->add($factory->createInput(array(
            'name'     => 'zip',
            'required' => false,
            'filters'  => array(
                array('name' => 'Int'),
            ),
             'validators' => array(
                  array(
                      'name' => array( new CustomValidator ),
                      'options' => array(
                          'min' => 1,
                      ),
                  ),
                ),
        )));
        ...

当我尝试提交表单时,我看到部分验证器代码为纯文本,并收到致命错误,无法找到该类...


我现在假设一个目录结构。

供应商名称:MyStuff

FQCN: MyStuff\Validator\AwesomeValidator;

文件路径:./vendor/mystuff/library/MyStuff/Validator/AwesomeValidator

鉴于 Zend Framework 2 遵循PSR-0 标准 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md对于自动加载,您需要将自动加载器路径添加到供应商自动加载器。 ZF2 使用 Composer 来处理自动加载。当您通过 Composer 安装您自己的供应商时,这是自动完成的。如果您需要手动执行此操作,请在内部执行composer.json

"autoload": {
    "psr-0": {
        "Mystuff\\": "vendor/mystuff/library/"
    }
}

我希望这能给你足够的工作空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend Framework 2 - 自定义表单验证 的相关文章

随机推荐

  • 如何在 Silverlight 应用程序中显示容器的 Azure blob 列表?

    如何在 Silverlight 应用程序中显示容器的 Azure blob 列表 我知道如何在常规 Net 中执行此操作 但我需要它在银光中 我可以上传 但我想要显示已上传内容的列表 对于 Silverlight 来说是这样的 CloudS
  • 如何修复 SVN 导入行结尾错误?

    我必须导入一个巨大的 SVN 存储库 并将其从一台服务器传输到另一台服务器 所以我从旧服务器导出它 svnadmin dump gt archive svn 并将其导入新的 svnadmin load lt archive svn 在导入过
  • 多态模式匹配导致类型不明确

    灵感来自无法匹配具有约束的多态元组 https stackoverflow com questions 57137421 cannot match on polymorphic tuples with constraints 并基于随后的c
  • AppFabric 1.0错误服务器集合不能为空

    当我运行简单的程序时 出现以下错误Windows Server 应用程序结构 1 0演示控制台应用程序 ErrorCode
  • Marshmallow 上本机 WebView 中的 Instagram 链接

    最近我注意到当你尝试调用时会出现一个非常奇怪的错误https www instragram com https www instagram com 当您的智能手机运行时在网络视图中安卓 6 棉花糖 问题是 屏幕始终保持空白 只有中间那个小
  • 在 Wagtail 中创建可重用字段集的方法?

    我正在评估 Wagtail 看看是否能在我的公司中找到它与 Wordpress 和 Drupal 一起的位置 到目前为止 我认为它很有趣并且非常喜欢其中的很多内容 但是有一件事我真的很喜欢 但找不到方法来实现 我的商店使用模式库 原子设计
  • 在 Virtual Box 中调试来宾操作系统的工具

    我只是交叉发布了我在 virtualbox org 上提出的相同问题 如果不违反任何规则 我很乐意了解更多相关信息 因为 stackoverflow 承诺会更加动态 你好 我做了一些搜索 但找不到任何工具可以从虚拟盒中的早期启动中调试来宾系
  • 有没有办法向 ADO.NET 实体框架中的关联添加额外的字段?

    我希望能够对多对多关系进行建模 其中包含有关该关系的额外详细信息 例如 Person int id String name Project int id String name ProjectPerson Person id Project
  • 使用 .NET 的稳定 RSS 阅读器

    我一直在寻找一个稳定的 NET RSS Atom 库 最好是开源的 比如 Adob e 创建的 AS3 Syndicate Library 我想在我的基于 NET 的网站中集成 RSS 源 另外 是否有适用于同一个 RSS 提要阅读器的 J
  • 如何在 Gradle 中查找/删除未使用的依赖项

    我想在我的项目中找到未使用的依赖项 Gradle 中有类似 Maven 的功能吗 Kotlin 用户更新 2021 年 12 月 17 日 检测 Kotlin 项目中缺失或多余的构建依赖项 版本 1 0 9 最新 我为 Kotlin 用户添
  • .NET WinForms 中与 Qt 的表单布局最接近的等效项是什么?

    与 Qt 最接近的等效项是什么QFormLayout在 NET WinForms 中 TableLayoutPanel 将由我决定
  • WooCommerce:删除产品写入面板选项卡

    我正在使用 WooCommerce 我想隐藏后端的 链接产品 选项卡 我找到了一个添加选项卡的钩子 woocommerce product write panel tabs 但我不确定是否也可以用这个钩子隐藏某些选项卡 谢谢你的帮助 所以我
  • RestSharp.NetCore 中的 ExecuteAsyncPost 示例

    我正在使用 RestSharp NetCore 包 并且需要调用 ExecuteAsyncPost 方法 我正在努力理解回调参数 var client new RestClient url request AddParameter appl
  • 代表们——他们到底是什么?

    有人能用一些现实生活流程的类比来解释它们吗 比如经营一支棒球队 一家咖啡店或一家汽车修理店 任何有意义的事情 就像我们甚至不要谈论代码 语法或编程 我看过很多这样的帖子 但没有一个真正适合我 我们可以先谈谈概念吗 就像我什至不明白为什么我们
  • Java do-while 循环不起作用

    我希望我的程序不断询问问题 直到它得到可以使用的响应 特别是从 0 到 20 的数字 我在这个类上还有很多其他内容 所以这里有一个小摘录 其中 do while 是 我已经为所有变量命名了 public static void main S
  • 如何在 iPhone 中检测来自麦克风而不是语音的打击?

    我正在使用此代码来检测打击 但我受不了打击 我有声音 NSURL url NSURL fileURLWithPath dev null NSDictionary settings NSDictionary dictionaryWithObj
  • *&++i 是否会导致 C++03 中的未定义行为?

    In 另一个答案 https stackoverflow com a 17400329 1505939据说在 C 11 之前 其中i is an int 然后使用表达式 i 导致未定义的行为 这是真的 关于另一个答案 评论中有一些讨论 但似
  • 为什么4.2.0版本没有maven Resteasy-jaxrs包?

    我在 Maven 中看到的最后一个版本resteasy jaxrs是 3 8 1 当尝试升级时resteasy client到 4 2 0 存在依赖关系resteasy jaxrs 4 2 0 org jboss resteasy plug
  • 防止片段着色器中的循环展开

    我正在使用最新版本的 Chrome 和 Firefox 为 WebGL GLSL ES 1 0 编写一个片段着色器 并且编写了一个迭代算法 首先 我发现循环的长度是非常有限的 文档说它必须在编译时是可猜测的 这意味着它必须是一个常量或非常接
  • Zend Framework 2 - 自定义表单验证

    我需要自定义表单验证 所以我写了一个类似的函数this http framework zend com manual 2 0 en modules zend validator writing validators html one 到目前