任何网站总是时刻处于敌意的攻击之下,然而攻击者的胜利通常不完全依赖于其技艺或智慧,往往是网站设计者的疏忽造成的。假如你正在设计一个网站,那么有三点特别值得你注意的:
用户输入
软件漏洞
内部任务
不管你是否认同,用户输入的确非常重要。假如你在使用qeePHP框架开发这个网站,那么你有福了,我将在下面介绍qeePHP框架表单针对用户输入验证所做的工作。
在qeePHP框架验证中,存在着很多方法方便我们在使用qform表单时,验证用户输入数据的有效性非常重要。qeePHP的输入验证规则写在模型中,下面就是一个简单的模型:
class Sales extends QDB_ActiveRecord_Abstract
{
static function __define()
{
//~~~~~~~~~~~~~~~~~~~~~
'validations' => array
(
'id' => array
(
array('is_int', 'domain_id必须是一个整数'),
),
'title' => array
(
array('is_null', '标题不能为空'),
),
// ~~~~~~~~~~~~~~~~~~~~~
),
}
}
}
qeePHP针对表单的验证规则就在validations中,以php优美的数组存在。让我们先看下面这张表单。可以让我们一目了然的知道validator中提供了那些方法:Id 方法 作用 示例
1 between 在两个值之间 array(’between’,1,20,’该值只能在1-20的范围内’)
2 equal 是否等于指定值 array(’equal’,'test’,'只能为test’)
3 greater_or_equal 大于或等于指定值 array(’greater_or_equal’,10,’请指定值必需大于或等于10的值’)
4 greater_than 大于指定值 array(’greater_than’,10,’请指写必需大于10的值’)
5 is_alnum 是否为字母加数字的组合 array(’is_alnum’,'该值只能为字母加数字’)
6 is_alnumu 是否是字母、数字和下划线 array(’is_alnumu’,'只能为字母、数字和下划线的组合’)
7 is_alpha 是否为字母 array(’is_alpha’,'只能为字母’)
8 is_ascii 是否是ASCII字符 array(’is_ascii’,'只能为ASCII字符’)
9 is_binary 是否为二进制数值 array(’is_binary’,'请指定一个二进制的有效值’)
10 is_cntrl 是否为控制字符 array(’cntrl’,'指定控制字符’)
11 is_date 是否为日期(yyyy/mm/dd, yyyy-mm-dd) array(’is_date’,'请指定一个有效的值’)
12 is_datetime 是否是日期+时间 (yyyy/mm/dd hh:mm:ss, yyyy-mm-dd hh:mm:ss) array(’is_datetime’,'请指定一个有效的值’)
13 is_digits 是否为数字 array(’is_digits’,'指定值只能为数字’)
14 is_domain 是否为Internet域名 array(’is_domain’,'请指定一个域名’)
15 is_email 是否是电子邮件地址格式 array(’is_email’,'请正确填写邮件地址’)
16 is_float 是否为浮点数 array(’is_float’,'请指定一个浮点数’)
17 is_graph 是否是可见的字符 array(’is_graph’,'该字符不可见’)
18 is_int 是否为整数 array(is_int’,'请指定一个有效的值’)
19 is_ipv4 是否为IPv4地址 (格式: a.b.c.h) array(’is_ipv4′,’请指定一个有效值’)
20 is_lower 是否是全小写 array(’is_lower’,'请写小写’)
21 is_octal 是否为八进制数值 array(’is_octal’,'请指定一个八进制的有效值’)
22 is_print 是否是可打印的字符 array(’is_print’,'必需是可打印的字符’)
23 is_punct 是否是标点符号 array(’is_punct’,'只能为标点符号’)
24 is_time 是否是时间 (hh:mm:ss) array(is_time’,'请指定一个有效值’)
25 is_type 请指定特定类型的值 array(’is_type’,'int’,'只能为int类型的值’)
26 is_upper 是否是全小写 array(’is_upper’,'请全写大写’)
27 is_whitespace 是否是空白字符 array(’is_whitespace’,'不能为空白字符’)
28 is_xdigits 是否是十六进制数 array(’is_xdigits’,'只能为十六进制数’)
29 less_or_equal 小于或等于指定值 array(’less_or_equal’,10,’请指定值必需小于或等于10′)
30 less_than 小于指定值 array(’less_than’,10,’请指定值必需小于10′)
31 max 最大值 array(’max’,100,’请指定小于100以内的有效值’)
32 strlen 验证字符串长度 array(’strlen’,5,’该值长度只能为5′)
33 max_length 值的最大长度不能超过它 array(’max_length’,10,’有效值长度最大值为10′)
34 min 最小值 array(’min’,2,’有效值的最小值为2′)
35 min_length 值的最小长度不能小于它 array(’min_length’,1,’有效值长度最小为1′)
36 not_empty 不为空的值 array(’not_empty’,'指定值不能为空’)
37 not_equal 不等于指定值 array(’not_equal’,'test’,'不能为test的值’)
38 not_null 不为null的值 array(’not_null’,'不能为null的值’)
39 not_same 是否与指定值不完全一致 array(’not_same’,不完全一致的值’)
40 regex 使用正则表达式进行验证 array(’regex’,'规则写在这里’,'规则出错写在这里’)
41 same 是否与指定值完全一致 array(’same’,'完全一致的值’)
42 skip_empty 如果值为空(空字符串或者null),则跳过余下验证 array(’skip_empty’)
43 skip_null 如果值为null,则跳过余下验证 array(’skip_null’)
44 skip_on_failed 如果接下来的验证规则出错,则跳过后续的验证 array(’skip_on_failed’)
qeePHP Qform表单验证方法介绍
最新推荐文章于 2024-09-11 08:45:46 发布