栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > YurunPHP

创建数据并验证 - YurunPHP1.0开发手册

YurunPHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建数据并验证 - YurunPHP1.0开发手册


YurunPHP的Model提供自动获取数据并验证的方法。
首先需要在Model中定义`protected $rules`

protected $rules=array(
'reg'=>array(
array('name'=>'username','type'=>array('require','length'=>array(1,5)),'msg'=>'请填写正确的用户名,长度在1-5之间。'),
array('name'=>'password','type'=>'not_empty_str','msg'=>'密码不能为空'),
array('name'=>'password2','type'=>'not_empty_str','msg'=>'密码不能为空'),
array('name'=>'card_id'),
array('name'=>'name','type'=>'not_empty_str','msg'=>'真实姓名不能为空'),
array('name'=>'tel','type'=>'phone','msg'=>'请输入正确的联系电话'),
array('name'=>'zone_id','type'=>'numeric','filter'=>'intval','msg'=>'请选择所在地区')
),
'login'=>array(
array('name'=>'username','type'=>'not_empty_str','msg'=>'用户名不能为空'),
array('name'=>'password','type'=>'not_empty_str','msg'=>'密码不能为空'),
),
'userInfo'=>array(
array('name'=>'name','type'=>'not_empty_str','msg'=>'用户名不能为空'),
array('name'=>'tel','type'=>'phone','msg'=>'请输入正确的联系电话'),
array('name'=>'email'),
array('name'=>'company'),
),
'changepassword'=>array(
array('name'=>'password','type'=>'not_empty_str','msg'=>'不能为空'),
array('name'=>'Rpassword','type'=>'not_empty_str','msg'=>'不能为空'),
array('name'=>'old_password','type'=>'not_empty_str','msg'=>'不能为空'),
)
);

上面定义了4组规则,分别是注册(reg)、登录(login)、编辑资料(userInfo)、修改密码(changepassword)。命名可以随开发者喜好命名。
规则可用字段:

| 名称 | 描述 | 必填 |
| -- | -- | -- |
| name | 字段名称 | √ |
| from | 从哪里取数据,默认为Request。可选值:get/post/cookie/server | |
| type | 验证类型,支持字符串和数组。支持多个验证。留空则不验证 | |
| filter | 过滤器,支持字符串和数组。在验证前会做过滤。 | |
| default | 默认值。在验证失败时直接使用这个默认值。 | |
| msg | 验证失败时的返回消息 | |

定义好规则后,我们就可以使用了。
格式:

fromForm(规则名[,是否获取全部错误信息])

> fromForm方法执行成功返回true,执行失败返回一个数组。

使用方法:

$result = $model->fromForm('reg'); // 调用reg规则
$result = $model->fromForm('reg',false); // 调用reg规则,和上面等同

结果:

array (size=2)
'name' => string 'username' (length=8)
'msg' => string '请填写正确的用户名,长度在1-5之间。' (length=21)

上面结果是验证失败时返回的结果,fromForm第二个参数不传或者为false时,只返回一个错误信息,也就是一维数组。
name对应的是字段名称,msg对应的是提示信息。
使用方法2:

$result = $model->fromForm('reg',true);

结果:

array (size=5)
'username' =>
array (size=2)
'name' => string 'username' (length=8)
'msg' => string '请填写正确的用户名,长度在1-5之间。' (length=21)
'password2' =>
array (size=2)
'name' => string 'password2' (length=9)
'msg' => string '密码不能为空' (length=18)
'name' =>
array (size=2)
'name' => string 'name' (length=4)
'msg' => string '真实姓名不能为空' (length=24)
'tel' =>
array (size=2)
'name' => string 'tel' (length=3)
'msg' => string '请输入正确的联系电话' (length=30)
'zone_id' =>
array (size=2)
'name' => string 'zone_id' (length=7)
'msg' => string '请选择所在地区' (length=21)

上面结果是验证失败时返回的结果,fromForm第二个参数为true时,返回所有验证失败的信息。
同样,name对应的是字段名称,msg对应的是提示信息。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号