除非設(shè)計的網(wǎng)站非常非常簡單,否則總會碰到需要用交互式表單收集用戶信息的情況。這些表單有可能是簡單的反饋表單,也有可能是復(fù)雜的注冊或成員登錄表單,還有可能是復(fù)雜的命令處理表單。雖然它們的形狀和大小各有不同,但是,它們有一點是相同的:在它們提交信息之前,需要對表單中的信息進行驗證,以確保信息無害。
表單構(gòu)建和輸入信息的驗證是Web開發(fā)工作中的一個整體,因此有很多現(xiàn)成可用的代碼可以完成這兩個功能。如果你是個Perl 開發(fā)人員,則有個巨大的工具倉庫,其名字為:Comprehensive Perl Archive Network (CPAN),它包含了數(shù)以百計的類,用于表單的生成、測試和處理。
本文中,我挑選出10個最有用功能最強大的模塊(表 A),看看它們能為你的開發(fā)工作提供的內(nèi)容和Idea,請盡情享用吧!
注意:可以直接從網(wǎng)絡(luò)安裝CPAN模塊,其說明文檔在下面的鏈接中:
http://www.cpan.org/misc/cpan-faq.html#How_install_Perl_modules.
表 A
程序包名稱 |
描述 |
此模塊是現(xiàn)在可用的最大全特征CGI庫,其功能非常強大。它為CGI腳本提供線形的和面向?qū)ο髽?gòu)架,它允許編程產(chǎn)生HTML標(biāo)記和表單字段,檢查POST和GET變量,設(shè)置和讀cookies、sessions和外部環(huán)境變量的界面。 使用此模塊產(chǎn)生表單和HTML標(biāo)記,或者用于表單處理和編寫腳本。 | |
此模塊應(yīng)用了很多其他特征擴展了標(biāo)準(zhǔn)CGI輸入驗證器,這些特征包括:表單字段分組、基于分組的條件驗證、擴展文件的驗證規(guī)則和YAML支持。與其他驗證器不同,它也支持用于數(shù)據(jù)完整性的客戶端(JavaScript)驗證程序的自動生成。 在相互關(guān)聯(lián)驗證規(guī)則的復(fù)雜表單中使用此模塊,或者需要快速客戶端驗證時使用此模塊。 | |
此模塊為普通輸入類型提供驗證程序:例如email地址、信任卡號碼、URL、日期時間、字符串類和數(shù)字類,還有其他更多內(nèi)容。 使用此模塊檢測Web表單的輸入信息,并且確保信息在“計算/保存”到文件或數(shù)據(jù)庫之前進行驗證。 | |
此模塊用于處理瀏覽器上HTTP文件上傳。假設(shè)一個包含多個部分的提交表單,此模塊可以從提交表單中獲得文件名、文件大小和MIME類型信息,可以方便處理并發(fā)的“拷貝/移動/刪除”操作。 在Web站點上使用此模塊支持文件上傳。 | |
此模塊提供程序產(chǎn)生、驗證和處理多頁面Web表單。它支持所有的HTML表單輸入類型,并且對于大多數(shù)的輸入類型有內(nèi)置的驗證程序。Sessions用于在表單的不同頁面上維護狀態(tài)。 使用此模塊簡化在運行時產(chǎn)生和驗證多頁面Web表單。 | |
這個模塊將session管理性能整合到CGI程序中,可以用于客戶程序session的“維護狀態(tài)”。它可以與DBI和文件驅(qū)動器一起用于數(shù)據(jù)存儲,也具有內(nèi)置調(diào)試能力。 在需要追蹤Web站點上個人用戶session程序中使用此模塊,例如購物車系統(tǒng)和注冊系統(tǒng)。 | |
此模塊為基本的Web注冊/驗證系統(tǒng)提供了構(gòu)架。它使用存儲在服務(wù)器上的session文件追蹤用戶注冊,并且從自定義格式數(shù)據(jù)文件中讀取驗證信息。它也支持HTML模板,此模板用于創(chuàng)建定制的“登入/登出”屏幕。 使用此模塊為Web程序快速創(chuàng)建注冊系統(tǒng)。 | |
此模塊是個可重用系統(tǒng),此系統(tǒng)可以用于將提交表單轉(zhuǎn)換成email。它包括HTML模板,這些模板用于表單和表單提交屏幕,提交表單屏幕可以定制,以滿足特殊需要。 使用此模塊創(chuàng)建快速表單,此表單可以將其內(nèi)容通過電子郵件發(fā)送到指定的容器。 | |
此模塊提供了面向?qū)ο罂蚣苡糜趧?chuàng)建和維護購物車內(nèi)容。它包含內(nèi)置方法進行添加和移除購物信息,更新貨物的數(shù)量和價格,計算總價,獲取以前保存的購物信息,并且將購物信息保存到數(shù)據(jù)庫或外部存儲系統(tǒng)。 使用此模塊快速整合購物車系統(tǒng)和Web站點。 | |
此模塊為CGI程序提供了測試框架,允許在沒有瀏覽器的情況下交互式運行程序。其關(guān)鍵特征支持session管理,使它可以模仿瀏覽器環(huán)境外的多頁面處理事務(wù)。 使用此模塊測試瀏覽器環(huán)境外的CGI程序。 |