PEAR::HTML_QuickForm的驗證規則
參考資料:http://phpeye.com/article/view/id/108 規則名稱 參數 規則描述 required 必須輸入,不能為空 maxlength $length 最大字符長度 minlength $length 最小字符長度 rangelength $min,$max 字符長度的範圍 regex $rx 輸入的數據必須匹配給定的正則表達式 email true 驗證email地址的格式(有個可選的選項還可以查看域名是否有效) lettersonly 只能是英文字母 alphanumeric 只能是英文字母或數字 numeric 只能是數字 nopunctuation 不能包含以下特殊字符: ( ) . / * ^ ? # ! @ $ % + = , " ' > < ~ [ ] { }. nonzero 不能為零 compare 兩次輸入必須相同 uploadedfile 表單元素必須包含正確上傳文件 maxfilesize $size 上傳文件的最大容量 mimetype $mime 上傳文件的類型,$mime可以是數組,則上傳文件的類型必須為其中一種 filename $file_rx 上傳的文件的名稱必須滿足給定的正則表達式 其中compare規則有點特殊,它是指兩個表單的輸入數據必須相同(如密碼確認時)。它的用法如下: compare也可以用來比較兩個表單中輸入的數據的大小,如:
(forDNS heck) $form->addElement('password','password_1','Enter your password:'); $form->addElement('password','password_2','Enter your password (again):'); $form->addRule(array('password_1','password_2'), "Passwords don't match!",'compare');$form->addElement('text','min_age','Minimum Age:'); $form->addElement('text','max_age','Maximum Age:'); $form->addRule(array('min_age','max_age'), "Minimum Age must be less than Maximum Age", 'compare','<');
客戶端驗證功能
客戶端驗證:
前面有提到使用addRule()來增加一條驗證規則,其實addRule()還有第五個參數—client。這個參數用來說明我們將使用的是客戶端驗證,如果傳遞了這個參數,則程序會自動生成客戶端的Javascript代碼來驗證表單裡的數據。
使用客戶端驗證更加快捷方便,而且可以減輕服務器的負載。
Client.php
//加入三條客戶端驗證規則 $form->addRule('name','用戶名不能為空!', 'required','','client'); $form->addRule('name','用戶名必須為3位以上字母或數字', 'minlength',3,'client'); $form->addRule('password','密碼不能為空!', 'required','','client');
留言列表