以添加用户为例
主要验证的字段
代码语言:javascript复制tusername、username、password、phone
辅助验证的字段 password_confirmation
验证第一种:
代码语言:javascript复制 //添加操作
public function store(Request $request)
{
$this->validate($request, [
'tusername' => 'required',
'username' => 'required|unique:users,username',
'password' => 'required|confirmed|digits_between:6,16',
'phone' => 'nullable|phone'
],[
'tusername.required' => '真实姓名不能为空',
'password.confirmed' => '两次密码不一致',
'password.digits_between' => '密码字符必须在6到16个字符',
'phone.phone' => '手机号不合法'
]);
$post = $request->except(['_token','password_confirmation']);
$pwd = $post['password'];
$post['password'] = bcrypt($pwd);
$user = User::create($post);
/**
* 发邮件
* 发送类Mali类(静态方法)
* 文本raw()
* 富文本send()
* 发送邮件的账号,需要开启stmp协议。
* stmp默认端口是25,默认未打开,需自行打开。
* 以QQ邮箱为例:mail.qq.com
*/
/*发送富文本*/
Mail::send('mail.adduser',compact('user','pwd'), function (Message $message)use ($user){
$message->to($user->email)
->subject('开通账号邮件通知');
});
return redirect(route('admin.user.index'))->with('success','添加用户成功');
}
或者这样
//添加操作
public function store(Request $request)
{
$this->validate($request, [
'tusername' => 'required',
'username' => 'required|unique:users,username',//用户名唯一性验证
'password' => 'required|confirmed|digits_between:6,16',
'phone' => 'nullable|phone'
],[
'tusername.required' => '真实姓名不能为空',
'password.confirmed' => '两次密码不一致',
'password.digits_between' => '密码字符必须在6到16个字符',
]);
$post = $request->except(['_token','password_confirmation']);
$pwd = $post['password'];
$post['password'] = bcrypt($pwd);
$user = User::create($post);
/**
* 发邮件
* 发送类Mali类(静态方法)
* 文本raw()
* 富文本send()
* 发送邮件的账号,需要开启stmp协议。
* stmp默认端口是25,默认未打开,需自行打开。
* 以QQ邮箱为例:mail.qq.com
*/
/*发送富文本*/
Mail::send('mail.adduser',compact('user','pwd'), function (Message $message)use ($user){
$message->to($user->email)
->subject('开通账号邮件通知');
});
return redirect(route('admin.user.index'))->with('success','添加用户成功');
}
//Providers->AppServiceProvider.php
public function boot()
{
//
//自定义规则(参数1:规则名称)
Validator::extend('phone', function ($attribute, $value, $parameters, $validator) {
$reg0 = '/^ 86-1[3-9]d{9}$/';
$reg1 = '/^1[3-9]d{9}$/';
return preg_match($reg0, $value) || preg_match($reg1, $value);
});
}
或者在resources->lang->zh-CN->validation
//自定义提示
'phone' => ':attribute 号码不合法',
attributes => [
'phone' => '电话'
]