是否提供PHP和jQuery表单创建和验证库? 原始问题

是否提供PHP和jQuery表单创建和验证库? 原始问题,php,jquery,validation,forms,Php,Jquery,Validation,Forms,是否有一个经过良好测试且最好是成熟的库,用于在PHP中创建具有客户端(jQuery就是在这里)和服务器端验证的表单 理想情况下,表单可以从PHP类生成,也可以编写为纯HTML并进行解析。然后库会自动创建正确的jQuery钩子,以便运行包含的jQuery客户端验证 我经常做的工作之一就是对旧的良好联系方式进行一些修改,我希望将这项工作标准化,以便每次都能写出相同的最佳实践代码。记住这一点,PHP类生成的HTML应该足够好,以便在需要的地方添加额外的CSS挂钩等 感谢您的建议 更新 我一直在梳理和

是否有一个经过良好测试且最好是成熟的库,用于在PHP中创建具有客户端(jQuery就是在这里)和服务器端验证的表单

理想情况下,表单可以从PHP类生成,也可以编写为纯HTML并进行解析。然后库会自动创建正确的jQuery钩子,以便运行包含的jQuery客户端验证

我经常做的工作之一就是对旧的良好联系方式进行一些修改,我希望将这项工作标准化,以便每次都能写出相同的最佳实践代码。记住这一点,PHP类生成的HTML应该足够好,以便在需要的地方添加额外的CSS挂钩等

感谢您的建议


更新 我一直在梳理和审查我发现的选项和其他人在下面建议的选项,目前我将根据我对所有项目进行的少量测试和研究,按照以下顺序对项目进行质量排序

  • (如果您可以让客户端验证工作,那么这应该比jFormer跳得更高!)
  • (用于表单呈现和验证的整个MVC框架过于复杂)
  • 老实说,我仍然不相信任何一种选择,我想知道为什么从事这些项目的人不从一些可靠且经过良好测试的组件开始。例如,我会想到以下几点:

    • 客户端验证
    • 也许是成分
    • 也许有
    这将为您提供一个良好的稳定基础,以便在测试组件的基础上创建一个漂亮的库


    另外,如果您对解析HTML而不是从PHP类生成HTML的库感兴趣,我发现了一个名为。就像我在原始问题中提到的选项一样。

    我遇到的一个选项是,但是它的历史很短,并且PHP代码不太理想,因为有一个3000行的文件,其中包含多个类。它不采用模块化的方法。

    今天在查看PEAR存储库时,我注意到它发布了一个新版本,现在也支持客户端验证。但它不使用jQuery,而且他们已经为该作业编写了自己的JS框架。

    您可以使用。它完全符合您的要求: 使用它,您可以使用PHP中的验证规则定义表单,并使用jQuery和客户端验证生成表单

    功能列表(取自其网站):

    • API生成符合XHTML严格1.0的代码
    • 在客户端进行现场验证,以最大限度地减少通信开销
    • 服务器端的字段验证,以强制执行验证规则并防止回火 通过SQL注入使用表单
    • 客户端验证以内联方式显示,以提高用户满意度。再也没有那些不会告诉你任何事情的恼人弹出窗口了
    • 轻松创建复杂的表单结构
    • 使用流行的jQuery Javascript库进行DOM操作
    • 完全可自定义使用CSS
    • 自动为HTML和纯文本格式的表单邮件程序创建字段摘要
    • 它是开源的,因此完全免费()
    也许您可以使用该框架。它提供了一个模型视图控制器层和模型外的自动表单生成。有许多验证选项。但是我认为集成JQuery客户端验证也需要一些修改。

    我刚刚偶然发现了一个名为JQuery的JQuery插件。它将验证逻辑移动到服务器,但使用JavaScript在客户端执行。在页面底部,您可以看到表单验证的示例

    Html标记:

    <form id="form" action="/a.form" method="post" class="ahm">
    <p>Name</p>
    <input name="name" id="name" value="" type="text">
    <p>Email</p>
    <input name="email" id="email" value="" type="text">
    <p>Password</p>
    <input name="password" id="password" value="" type="text">
    <br><input value="Submit Form" type="submit">
    </form>
    
    
    名字

    电子邮件

    密码


    PHP代码:

    <?php
    // catch errors
    foreach (array("name", "email", "password") as $key) {
        if (empty($_POST[$key])) {
            $error["#$key/addClass"] = "error";
            $error["#$key/after"]    = "<span class="error">Please enter $key</span>";  
        }
    }
    
    // get response
    if (!empty($error)) {
        $reset["input.error/removeClass"] = "error";
        $reset["span.error/remove"]       = "";
        $response = $reset + $error;    // reset errors before applying new ones
    } else {
        $response["#form/replaceWith"] = "<strong>Form successfully submitted</strong>";
    }
    
    // return response
    return $response;
    ?>
    
    
    
    结果:


    在中运行客户端验证的具体问题是什么

    它需要一个quickform.js文件才能工作。该文件随软件包一起安装,但不会自动包含在表单输出中。我最近进行了更新,使这个问题更加明显


    自从你提出问题以来,QF2也发布了几个版本,一些与JS相关的bug被消除了。考虑再试一次:我们正在瞄准一个稳定的发布,现在很快就会喜欢反馈。

    < P> <强>更新为2017 < /强>

    是一个PHP UI组件库(以及atk4.3的后续版本),包括以下内容:

    • 交互作用形式
    • 积垢
    • 网格
    • 菜单
    • 翻页者
    • 更多信息请访问
    所有组件都有一个一致且简单的PHP接口:

    $form = new \atk4\ui\Form();
    $layout->add($form);
    $form->setModel(new Country($db));
    
    如果您喜欢CRUD,只需使用
    \atk4\ui\CRUD
    。敏捷UI还提供了添加自定义组件的工具

    与替代软件相比:

    • 输出表单
      $form->render()
      或整个web应用程序的HTML
    • 自动设置样式为
    • 服务器端验证,内联显示错误
    • 表单布局
    • 包括对jqueryui的支持
    • 通过SQL、NoSQL和NoSQL存储数据
    • 支持自定义HTML模板
    • 开放源代码并在MIT下获得许可

    我会对您得到的答案感兴趣。我发现的大多数东西要么是一个非常薄的包装,围绕着已经存在的东西(同时也阻止了一些正常的功能),要么是非常拜占庭式的,需要比手工操作更长的时间。你找到合适的库了吗?我也在找一个,到目前为止,VFB似乎是最好的,但它已经有一年半没有更新了。@Jon我正在使用VFB,去年有活动-请看:嗨。我最近刚刚完成了开源PHP UI工具包:。我花了2年的时间构建,但它配备了最先进的服务器-