kPHP框架通过内置的验证器类来实现表单验证。该验证器类提供了多种预定义规则,包括必填、邮箱格式、手机号码格式、数字范围、正则表达式等等。用户只需在控制器中调用validate()方法,并传入验证规则数组和待验证数据即可完成表单验证。
下面是一个简单的示例:
public function add(){
$data = input('post.');
$rule = [
'name' => 'require|max:25',
'email' => 'require|email',
'phone' => 'require|mobile',
'age' => 'number|between:1,120',
'address' => 'max:100',
];
$msg = [
'name.require' => '姓名不能为空',
'name.max' => '姓名最多不能超过25个字符',
'email.require' => '邮箱不能为空',
'email.email' => '邮箱格式不正确',
'phone.require' => '电话号码不能为空',
'phone.mobile' => '电话号码格式不正确',
'age.number' => '年龄必须是数字',
'age.between' => '年龄必须在1到120之间',
'address.max' => '地址最多不能超过100个字符',
];
$result = $this->validate($data, $rule, $msg);
if(true !== $result){
$this->error($result);
}
// 表单验证通过,执行接下来的操作
}
上面代码中,$rule指定了要验证的字段及其规则,$msg指定了验证不通过时的提示信息。validate()方法会返回验证结果,如果验证未通过,则会自动将错误信息返回。
需要注意的是,使用内置验证器时应该优先考虑安全问题,并结合业务需求选择适当的规则,防止数据注入、跨站脚本攻击等常见的Web漏洞,保证系统安全。