laravel 更新验证
public function update(Request $request, User $user)
{
// 验证规则.
$rules = [
'email' => [
'nullable',
'email',
Rule::unique('users', 'email')->ignore($user->id),
],
'name' => [
'required',
'username',
'min:2',
'max:12',
Rule::unique('users', 'name')->ignore($user->id),
],
'phone' => [
'nullable',
'cn_phone',
Rule::unique('users', 'phone')->ignore($user->id),
],
'roles' => [
'required',
'array',
Rule::in(Role::all()->keyBy('id')->keys()->toArray()),
],
]; // 消息
$messages = [
'email.email' => '请输入正确的 E-Mail 格式',
'email.unique' => '邮箱已经存在',
'name.required' => '请输入用户名',
'name.username' => '用户名只能以非特殊字符和数字开头,不能包含特殊字符',
'name.min' => '用户名最少输入两个字',
'name.max' => '用户名最多输入十二个字',
'name.unique' => '用户名已经被其他用户所使用',
'phone.cn_phone' => '请输入大陆地区合法手机号码',
'phone.unique' => '手机号码已经存在',
'roles.required' => '必须选择用户组',
'roles.array' => '发送数据格式错误',
'roles.in' => '选择的用户组中存在不合法信息',
]; $this->validate($request, $rules, $messages); foreach ($request->only(['email', 'name', 'phone']) as $key => $value) {
$user->$key = $value ?: null;
}
$oldPwdHash = $user->getImPwdHash();
if ($password = $request->input('password')) {
$user->createPassword($password);
} $easeMob = new EaseMobController(); $response = app('db.connection')->transaction(function () use ($user, $request, $easeMob, $oldPwdHash) {
$user->save();
$user->roles()->sync(
$request->input('roles')
); // 环信重置密码
$request->user_id = $user->id;
$request->old_pwd_hash = $oldPwdHash;
$im = $easeMob->resetPassword($request);
if ($im->getStatusCode() != 201) {
return false;
} return true;
}); return response()->json([
'messages' => [
$response === true ? '更新成功' : '更新失败',
],
])->setStatusCode($response === true ? 201 : 422);
}
laravel 更新验证的更多相关文章
- laravel 数据验证
laravel 数据验证 在保存数据之前进行数据验证 类需要继承 Controller 然后用 $this->validate( $request , ['title' => 'requ ...
- laravel 自定义验证 Validator::extend
laravel 自定义验证 $messages = [ 'name.integer' => '名字不能为整型', 'name.max' => '长度不能超过5', ]; public st ...
- Laravel 更新数据时在表单请求验证中排除自己,检查指定字段唯一性
原文地址:https://moell.cn/article/24 不错的laravel网站 需求场景 修改用户信息时,在表单请求验证中排除当前邮箱所在的记录行,并检查邮箱的唯一性. Laravel版本 ...
- 如何 Laravel 中验证 zip 压缩包里的文件?
在 Laravel 程序中上传文件时,请求验证可以很好验证上传的文件.你可以要求上传文件必须为 图片 , 也可以限制文件字节 大小 , 也可以根据 mime types 或者 文件扩展名 过滤文件. ...
- Laravel登录验证碰到的坑 哈希验证匹配问题
用laravel 写登录验证 本来是用Crypt加密 添加用户到数据库的 后来验证密码 解密时一直报错 The payload is invaild 由于本人是laravel框架小白 自己思考许久未 ...
- Laravel Auth验证
laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆.判断. 首先,先配置一下相关参数 app/config/auth.php: model 指定模型 table 指定用户表 p ...
- Laravel 用户验证Auth::attempt fail的问题
1.在laravel项目中,当使用Auth::attempt()用于用户验证时,Auth::attempt()会把密码通过Hash进行转换,变成一串不知啥的长字符,如果你在数据库里事先设置了明文的密码 ...
- laravel 可用验证规则
accepted 验证的字段必须为 yes. on. 1.或 true.这在确认服务条款是否同意时相当有用. active_url 相当于使用了 PHP 函数 dns_get_record,验证的字段 ...
- laravel身份验证-Auth的使用
laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆.判断.首先,先配置一下相关参数 app/config/auth.php: model 指定模型table 指定用户表这里我只 ...
随机推荐
- Leetcode#561. Array Partition I(数组拆分 I)
题目描述 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最 ...
- 批量清除react中的计时器小组件
在Timers的父组件被卸载时,批量清除各个计时器.
- 20165234 《Java程序设计》第六周学习总结
第六周学习总结 教材学习内容总结 第八章 常用实用类 String类 Java专门提供了用来处理字符序列的 String 类.String类在java.lang包中,由于 java.lang 包中的类 ...
- v2v-VMware/VSphere中虚机离线迁移至openstack平台
先决条件 exsi到openstack的迁移,分为两种,一种是静态迁移,另一种是在线迁移. 静态迁移(offline migration)也叫做常规迁移,离线迁移.在迁移之前将虚拟机暂停,同时拷贝虚拟 ...
- 使用WinIo32绕过密码控件实现自动登录
通过winIO32绕过密码控件,实现自动登录 环境: vmware上安装windows 32位系统:windows xp / windows 7 selenium版本: 3.11.0 IEDriver ...
- [Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...
- Python全栈(第一部分)day3
昨日内容回顾 格式化输出 %s %d %% 编码 ascii: 只能显示英文,特殊字符,数字 万国码unicode: 最开始16位,中文不够,用32位,占用4个字节 升级: utf-8 utf-16 ...
- HDOJ 1698 Just a Hook (线段树)
题目: Problem Description In the game of DotA, Pudge’s meat hook is actually the most horrible thing f ...
- Java类锁和对象锁
一.类锁和对象锁 二.使用注意 三.参考资料 一.类锁和对象锁 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class) 对象锁:在代码 ...
- 在Linux下误删文件后恢复【转】
针对日常维护操作,难免会出现文件误删除的操作.大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻回,要知道linux文件修复比较费劲,网络上面的文档也是五花八门.所以本次研究一种 ...