PEAR::HTML_QuickForm入门[6]--自定义验证规则

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

自定义验证规则:

大多数时候我们使用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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航