jingcai-php/app/Http/RequestValidators/AuthValidator.php

125 lines
2.8 KiB
PHP
Executable File

<?php
namespace App\Http\RequestValidators;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class AuthValidator
{
public static function registerErrors(Request $request)
{
return self::error($request);
}
public static function loginErrors(Request $request)
{
return self::error($request, true);
}
public static function changePasswordErrors(Request $request, $isPay = false)
{
$rules = self::changePasswordRules($isPay);
$validator = Validator::make($request->all(), $rules, self::messages());
$errors = $validator->errors()->all();
if (!$errors) {
return false;
}
return implode("; ", $errors);
}
private static function error(Request $request, $isLogin = false)
{
$rules = self::registerRules();
if ($isLogin) {
$rules = self::loginRules();
}
$validator = Validator::make($request->all(), $rules, self::messages());
$errors = $validator->errors()->all();
if (!$errors) {
return false;
}
return implode("; ", $errors);
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
private static function loginRules()
{
return [
'phone' => [
'required',
],
'password' => [
'required',
'min:6',
],
];
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
private static function registerRules()
{
return [
'phone' => [
'required',
],
'password' => [
'required',
'min:6',
'confirmed'
],
];
}
private static function changePasswordRules($isPay = false)
{
if ($isPay) {
return [
'password' => [
'required',
'min:6',
'confirmed'
],
];
}
return [
'password_old' => [
'required',
],
'password' => [
'required',
'min:6',
'confirmed'
],
];
}
private static function messages()
{
return [
'phone.required' => '手机号必填',
'email.required' => '邮箱必填',
'email.email' => '邮箱格式错误',
'email.max' => '邮箱长度超限',
'email.unique' => '邮箱已被注册',
'password.required' => '密码必填',
'password.min' => '密码至少6位',
'password.confirmed' => '两次密码输入不止一次',
];
}
}