复习:
函数strstr():函数用于搜索字符串在另一字符串中第一次出现
参数:strstr('被搜索的字符串','所搜索的字符串',true/flase(是否返回剩余部分,默认为flase));
整个验证流程分为:
1:表单提交
2:表单验证
3:错误提示
4:自定义验证规则
5:控制器验证
form表单post提交
controller控制器负责收集字段,自动检测字段,自动校验正确性
vatidate 进行验证器验证
save 负责存入数据库save 负责存入数据库
重点:
input('变量类型.变量名称/修饰符');
input('post.')//请求整个post过来的的值
allowfield(true)//过滤掉非数据表存在的字段
validate(true)//调用和当前模型名称相同的验证器类进行验证
save(input('post.'))//存入post过来的值
验证规则:
namespace app/admin/vatidate;//验证器
use think/vatidate;
Class User extends Vatidate
{
//$rule为规则的固定命名格式
protected $rule = {
//第一种方式为使用系统固定的验证器规则
['nickname','require|min:5','昵称必须写入|昵称不能少于5位字符'],
//第二种为调用自定写的规则方法
['email','checkMail:www.tp-shop.con','邮箱格式错误'],
}
protected function checkMail($value,$rule){
$result = strstr($value,$rule);
if($result){
return true;
} else {
return '邮箱必须包含'、$rule;
}
}
}
在控制器中User的调用
public function add(){
$user = new Users;
if($user->allowfield(true)->validate(true)->save(input('post.'))){
return '新增用户成功';
} else {
return $user->getError();
}
}