【TP5-08】输入和验证

1、表单提交(application/index/view/user/create.html)

View层:





创建用户



创建用户

昵 称:
邮 箱:
生 日:

Controller层:

// 创建用户数据页面
public function create()
{
    return view();
}
// 新增用户数据
public function add()
{
    $user = new UserModel;
    if ($user->allowField(true)->save(input('post.'))) {
        return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
    } else {
        return $user->getError();
    }
}

2、表单验证(application/index/validate/User.php)

 'require|min:5|token',
        'email'    => 'require|email',
        'birthday' => 'dateFormat:Y-m-d',
    ];
}

User 验证器添加了三个属性的验证规则,分别是:
昵称必须,而且最小长度为5;
邮箱必须,而且必须是合法的邮件地址;
生日可选,如果填写的话必须为Y-m-d 格式的日期格式。

 ['require', 'min'=>5, 'token'],
        'email'    => ['require', 'email'],
        'birthday' => ['dateFormat' => 'Y|m|d'],
    ];
}

控制器add方法操作:

// 新增用户数据
public function add()
{
    $user = new UserModel;
    if ($user->allowField(true)->validate(true)->save(input('post.'))) {
        return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
    } else {
        return $user->getError();
    }
}

3、错误提示

4、自定义验证规则

5、控制器验证

namespace app\index\controller;

use app\index\model\User as UserModel;
use think\Controller;

class User extends Controller
{
    // 创建用户数据页面
    public function create()
    {
        return view();
    }
    
    public function add()
    {
        $data = input('post.');
        // 数据验证
        $result = $this->validate($data,'User');
        if (true !== $result) {
            return $result;
        }
        $user = new UserModel;
        // 数据保存
        $user->allowField(true)->save($data);
        return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
    }
}

个人作品1:(匿名聊天)
http://im.meetyy.cn/

个人作品2:(公众号:我是壁纸菌)


公众号:我是壁纸菌

你可能感兴趣的:(【TP5-08】输入和验证)