PEAR::HTML_QuickForm入门三

 

自定义验证规则:

 

大多数时候我们使用QuickForm自带的验证规则就已经足够了,但如果有时我们需要的数据格式比较特殊那怎么办呢? QuickForm允许你自定义验证规则。

 

下面的例子中,我们增了一条自定义的规则:用户名必须为Haohappy

 

CustomValidation.php

<?
require_once("HTML/QuickForm.php");
$form = new HTML_QuickForm('frmTest', 'post');
$form->addElement('header', 'header', '请登录');
$form->addElement('text', 'name', '用户名:');
$form->addElement('password', 'password', '密码:');
$form->addElement('submit', '', '提交');

//加入三条验证规则
$form->addRule('name','用户名不能为空!', 'required');
$form->addRule('name','用户名必须为3位以上字母或数字', 'minlength',3);
$form->addRule('password','密码不能为空!', 'required');

$form->registerRule('Haohappy_only','function','check_haohappy');
$form->addRule('name','用户名必须为Haohappy', 'Haohappy_only');

if ($form->validate()) {
    
$form->process('say_hello');
} else {
    
$form->display();
}

function
say_hello($data) {
    print
'Hello, ' . $data['name'];
    print
'<BR>';
    print
'Your password is '.$data['password'];
}

function
check_haohappy($element_name, $element_value) {
    if (
$element_value == 'Haohappy') {
        return
true;
    } else {
        return
false;
    }
}

?>

 

效果如图:

 

 

你应该注意到了,代码中我们新增了以下:

 

$form->registerRule('Haohappy_only','function','check_haohappy');
$form->addRule('name','用户名必须为Haohappy', 'Haohappy_only');

 

我们新注册了一个名为“Haohappy_only”的验证规则,并指定这个验证由函数(function) check_haohpapy()来执行。

 

再接下来我们定义一个check_haohpapy()函数,当用户名为Haohappy时返回true,当不为Haohappy时返回false

function check_haohappy($element_name, $element_value) {
    if (
$element_value == 'Haohappy') {
        return
true;
    } else {
        return
false;
    }
}

总结一下使用PEAR::HTML_QuickForm的过程:

                                                                                                               

1.  确保PEAR安装正确;

2.  加载HTML_QuickForm

require_once("HTML/QuickForm.php");

 

3.  建立一个表单对象;

$form = new HTML_QuickForm('frmTest', 'post');

 

4.  增加元素(element)和验证规则(rules)

5.  设计一个表单处理函数(如代码中的say_hello())

6.  显示表单或对已有的表单进行数据验证和处理。

 

至此,算是入门了呵呵。

 

一些更高级的功能,如结合Smarty模板引擎等继续研究中。。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值