PHP表单库,用于进行服务器端和客户端验证


PHP form library that does server AND client side validation?

Ajax验证支持也是一个优势。

我想用PHP定义我的表单,调用render();并根据我在PHP中添加的规则为我完成所有HTML和用户友好的javascript验证。

我能找到的最好的图书馆是http://www.jformer.com/但它一团糟,它使用的iframes的src为empty.html(谁知道为什么),而且处理表单的方式也很尴尬。

还有其他类似的吗?

Zend Framework中的

Zend_Form可以做到这一点。它主要进行表单的服务器端验证,但您也可以扩展它进行基本的客户端验证。将它与Zend_Dojo结合使用可能还会为您提供一些额外的客户端功能。

您还可以通过ajax或HTTPGET/POST处理表单。此外,您不需要使用整个Zend框架来使用Zend_Form,可以将其作为一个独立的组件来工作。

Yii2做得很好。

http://www.yiiframework.com/doc-2.0/guide-input-validation.html#client-侧面验证

但我不确定你是否可以在不使用完整的yii2框架的情况下使用它。

它的工作方式是将验证规则放在yii2模型中(activerecord样式)。

核心内置验证器支持客户端和服务器端验证。如果您创建自定义验证器规则(除非您执行非常基本的表单,否则总是会发生这种情况)。然后您可以选择是只做服务器端还是同时实现客户端。

您使用一个名为activeform的yii2小部件。您将模型传递给activeform。它为你呈现表单(它很灵活,如果你不想的话,你不必用它来呈现所有内容,它包括处理验证等所需的javascript。

您定义了一个yii2控制器和操作来处理服务器端表单提交,并将POST数据传递给您的模型。然后调用models validate()方法来验证服务器端。。如果需要,您可以通过将无效的$model传递给activeform来再次呈现表单,它将显示错误。

它还具有ajax功能,不确定它是如何工作的,但它仍然可以进行客户端和服务器端验证。

如果你尝试了这个,并且成功地从yii2中提取了所需的内容,请告诉我。我想在没有完整yii2框架的情况下使用yii2的这一部分。