Blogger Information
Blog 250
fans 3
comment 0
visits 321533
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
thinkphp5:模型中的输入与验证
梁凯达的博客
Original
1119 people have browsed it
  1. 复习:
  2. 函数strstr():函数用于搜索字符串在另一字符串中第一次出现
  3. 参数:strstr('被搜索的字符串','所搜索的字符串',true/flase(是否返回剩余部分,默认为flase));

整个验证流程分为:
1:表单提交
2:表单验证
3:错误提示
4:自定义验证规则
5:控制器验证
form表单post提交
controller控制器负责收集字段,自动检测字段,自动校验正确性
vatidate 进行验证器验证
save 负责存入数据库save 负责存入数据库

  1. 重点:
  2. input('变量类型.变量名称/修饰符');
  3. input('post.')//请求整个post过来的的值
  4. allowfield(true)//过滤掉非数据表存在的字段
  5. validate(true)//调用和当前模型名称相同的验证器类进行验证
  6. save(input('post.'))//存入post过来的值

验证规则:

  1. namespace app/admin/vatidate;//验证器
  2. use think/vatidate;
  3. Class User extends Vatidate
  4. {
  5. //$rule为规则的固定命名格式
  6. protected $rule = {
  7. //第一种方式为使用系统固定的验证器规则
  8. ['nickname','require|min:5','昵称必须写入|昵称不能少于5位字符'],
  9. //第二种为调用自定写的规则方法
  10. ['email','checkMail:www.tp-shop.con','邮箱格式错误'],
  11. }
  12. protected function checkMail($value,$rule){
  13. $result = strstr($value,$rule);
  14. if($result){
  15. return true;
  16. } else {
  17. return '邮箱必须包含'$rule;
  18. }
  19. }
  20. }

在控制器中User的调用

  1. public function add(){
  2. $user = new Users;
  3. if($user->allowfield(true)->validate(true)->save(input('post.'))){
  4. return '新增用户成功'
  5. } else {
  6. return $user->getError();
  7. }
  8. }
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post