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

时间:2012-02-13 23:15:34

标签: php jquery forms validation

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

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

我能找到的最好的图书馆是http://www.jformer.com/,但它很乱,它使用iframe与src为empty.html(因为谁知道原因),而你处理表单的方式也很尴尬。

还有其他类似的东西吗?

2 个答案:

答案 0 :(得分:1)

来自Zend_Form

Zend Framework就是这样做的。它主要是对表单进行服务器端验证,但您可以扩展它以进行基本的客户端验证。将它与Zend_Dojo结合使用可以为您提供一些额外的客户端功能。

您还可以通过ajax或HTTP GET / POST处理表单。此外,您不需要使用整个Zend Framework来使用Zend_Form,它可以使它作为独立组件工作。

答案 1 :(得分:0)

Yii2做得很好。

http://www.yiiframework.com/doc-2.0/guide-input-validation.html#client-side-validation

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

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

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

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

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

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

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