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

自定义验证规则:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

?>

效果如图:

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

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

$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;
}
}

你可能感兴趣的:(html,PHP,xml,Microsoft,Office)