2012-02-13 115 views
2

Ajax驗證支持也是一個優點。PHP的表單庫,做服務器和客戶端驗證?

我想在PHP中定義我的表單,調用render();並根據我在PHP中添加的規則爲我完成所有HTML和用戶友好的JavaScript驗證。

我能找到的最好的圖書館是http://www.jformer.com/但它是一團糟,它使用帶有empty.html src的iframe(因爲誰知道爲什麼),而且你處理表單的方式也很尷尬。

還有其他什麼事嗎?

+1

可能值得一看像Yii(MVC框架)這樣的完整框架。處理的意見,並與它來的JavaScript – 2012-02-13 23:18:13

回答

1

Zend_FormZend Framework這樣做。主要是它對錶單進行服務器端驗證,但是你可以擴展它,進行基本的客戶端驗證。將它與Zend_Dojo結合使用可能會爲您提供一些額外的客戶端功能。

您也可以通過ajax或HTTP GET/POST處理表單。此外,您不需要使用整個Zend Framework來使用Zend_Form,就可以將它作爲獨立組件使用。

0

Yii2做得很好。

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

,但我不知道你是否可以使用此不使用具有全部yii2框架。

它的工作方式是將驗證規則放入yii2模型(activerecord樣式)中。

驗證器中內置的核心支持客戶端和服務器端驗證。 如果您創建自定義驗證程序規則(總是會發生,除非您做非常基本的表單)。然後你可以選擇是否只做服務器端或實現客戶端。

您使用稱爲activeform的yii2小部件。你將你的模型傳遞給activeform。它爲你呈現了表單(它是靈活的,如果你不想要,你不需要渲染所有的東西,它包括處理驗證所需的JavaScript)。

你定義了一個yii2控制器和動作處理服務器端表單提交併將POST數據傳遞給模型,然後調用模型validate()方法來驗證服務器端。如果需要,可以通過將無效$模型傳遞給活動表單再次呈現表單並它會顯示錯誤。

它還具有Ajax的功能,不知道它究竟是如何工作的,但它仍然沒有客戶端和服務器端驗證。

讓我知道,如果你試試這個一d只能成功地從yii2中提取需要的內容來執行此操作。我想在沒有完整的yii2框架的情況下使用這部分yii2。