自定义验证规则:<?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; } } ?>
效果如图:

你应该注意到了,代码中我们新增了以下:
$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; } }
博客介绍了QuickForm的自定义验证规则。通常使用其自带验证规则已足够,但遇到特殊数据格式需求时,可自定义规则。还给出示例,新增一条规则要求用户名必须为Haohappy,涉及CustomValidation.php文件。
1511

被折叠的 条评论
为什么被折叠?



