表单验证
框架提供了一套完整的表单验证解决方案,适用于绝大多数场景。
表单验证支持所有类型的验证以及自定义方法、自定义错误信息。
简单示例:
namespace control;
class ctl_user extends ctl_base
{
// 自定义验证方法
public function username_check()
{
// 设置验证规则
$val = cls_validate::instance()
->set_rules('username', 'Username', 'required|minlength[5]|maxlength[12]')
->set_rules('password', 'Password', 'required|minlength[8]')
->set_rules('passconf', 'Password Confirmation', 'required|matches[password]')
->set_rules('email', 'Email', 'required|email');
// 运行验证程序。成功返回 TRUE,失败返回 FALSE
if ($val->run() == FALSE)
{
tpl::display('myform');
}
else
{
tpl::display('formsuccess');
}
}
}
验证类型
系统提供了21种默认验证方式,验证失败时都会记录错误信息,用户可以通过error($field = '', $prefix = '', $suffix = '')
方法获取
required 必选字段
remote 请修正该字段
email 请输入正确格式的电子邮件
url 请输入合法的网址
date 请输入合法的日期
numeric 数字类型,包括整型、浮点型
integer 整型类型,包括正数,负数
decimal 只能输入小数
idcard 请输入合法的身份证号
creditcard 请输入合法的信用卡号
matches[param] 请再次输入相同的值
accept 请输入拥有合法后缀名的字符串
maxlength[param] 长度不能大于 {param} 位
minlength[param] 长度不能小于 {param} 位
exactlength[param] 长度只能等于 {param} 位
rangelength[minlen:maxlen] 长度介于 {minlen} 和 {maxlen} 之间
max[param] 请输入一个最大为 {param} 的值
min[param] 请输入一个最小为 {param} 的值
range[minnum:maxnum] 请输入一个介于 {minnum} 和 {maxnum} 之间的值
数组方式
验证类除了迭代方式,还支持使用数组来设置验证规则
$config = array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'required'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required',
'errors' => array(
'required' => 'You must provide a password.',
),
),
array(
'field' => 'passconf',
'label' => 'Password Confirmation',
'rules' => 'required'
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required'
)
);
cls_validate::instance()->set_rules($config);
Last updated