PEAR/HTML/HTML_QuickForm学习

来源:互联网 发布:变音器软件 编辑:程序博客网 时间:2024/04/28 03:27
QuickForm中的HTML_QuickForm_Controller是一个令人激动的东西,可以方便地产生可验证的FORM代码,并且从PEAR的MANUAL中来看,它可以用来实现类似于MVC结构的一个好东东,主要包括了3个方面:
HTML_QuickForm_Controller  控制器   C
HTML_QuickForm_Page:          显示器   V
HTML_QuickForm_Action                      M

先看一下QuickForm中是如何添加一个元素到FORM中的,在FORM中增加一个元素要看增加的元素类型而定,不同的元素,它的参数是不同的,参看下表:
$form =& new HTML_QuickForm('frmTest', 'get');
$form->addElement('header', '', 'Normal Elements');//头元素,用于说明性的文字
$form->addElement('hidden', 'ihidTest', 'hiddenField');
$form->addElement('text', 'itxtTest', 'Test Text:');
$form->addElement('textarea', 'itxaTest', 'Test TextArea:', array('rows' => 3, 'cols' => 20));
$form->addElement('password', 'ipwdTest', 'Test Password:');
$form->addElement('checkbox', 'ichkTest', 'Test CheckBox:', 'Check the box');
$form->addElement('radio', 'iradTest', 'Test Radio Buttons:', 'Check the radio button #1', 1);
$form->addElement('radio', 'iradTest', '(Not a group)', 'Check the radio button #2', 2);
$form->addElement('button', 'ibtnTest', 'Test Button', array('onclick' => "alert('This is a test');"));
$form->addElement('reset', 'iresTest', 'Test Reset');
$form->addElement('submit', 'isubTest', 'Test Submit');
$form->addElement('image', 'iimgTest', 'http://pear.php.net/gifs/pear-icon.gif');
$select =& $form->addElement('select', 'iselTest', 'Test Select:', array('A'=>'A', 'B'=>'B','C'=>'C','D'=>'D'));
$select->setSize(5);
$select->setMultiple(true);
$form->addElement('date', 'dateTest1', 'Date1:', array('format'=>'dmY', 'minYear'=>2010, 'maxYear'=>2001));
$form->addElement('date', 'dateTest2', 'Date2:', array('format'=>'d-F-Y H:i', 'language'=>'de', 'optionIncrement' => array('i' => 5)));
$form->addElement('date', 'dateTest3', 'Today is:', array('format'=>'l d M Y'));

元素的类型列表:
 'group'       
 'hidden'      
 'reset'       
 'checkbox'    
 'file'        
 'image'       
 'password'    
 'radio'       
 'button'      
 'submit'      
 'select'      
 'hiddenselect'
 'text'        
 'textarea'    
 'link'        
 'advcheckbox' 
 'date'        
 'static'      
 'header'      
 'html'        
 'hierselect'  
 'autocomplete'

规则名称 参数 规则描述
required 必须输入,不能为空
maxlength $length 最大字符长度
minlength $length 最小字符长度
rangelength $min,$max 字符长度的范围
regex $rx 输入的数据必须匹配给定的正则表达式
email true(forDNSheck)验证email 地址的格式(有个可选的选项还可以查看域名是否有效)
lettersonly 只能是英文字母
alphanumeric 只能是英文字母或数字
numeric 只能是数字
nopunctuation 不能包含以下特殊字符: ( ) . / * ^ ? # ! @ $ % + = , " ' > < ~ [ ] { }.
nonzero 不能为零
compare 两次输入必须相同
uploadedfile 表单元素必须包含正确上传文件
maxfilesize $size 上传文件的最大容量
mimetype $mime 上传文件的类型,$mime 可以是数组,则上传文件的类型必须为其中一种
filename $file_rx 上传的文件的名称必须满足给定的正则表达式

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=150728