首页 文章

如何使用输入验证laravel作为函数?

提问于
浏览
1

例如,如何在laravel 'email' => 'unique:users,email_address' 中使用输入验证作为函数并返回其 truefalse ?我们可以吗?
如果不能,检查特定列的任何输入的最佳方法是什么?

2 回答

  • 0

    看完documentation hereover here后,我将尝试在下面给出一个例子 .

    use Validator;
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    
    class PostController extends Controller
    {
    
        public function store(Request $request)
        {
            $validator = Validator::make($request->all(), [
                'email' => 'unique:users,email_address',
            ]);
    
            // To get the boolean just simply use this:
            $email_bool = $validator->passes();
    
            // $email_bool now contains a boolean testing only the unique rule of email.
        }
    }
    

    你当然也可以使用 $validation->fails() ,但这当然会产生负 $validation->passes() .

    所以基本上,你只需要制作一个非常具体的自定义验证规则 . 然后,您只需在数据上测试它,并将其转换为带有函数的布尔值 .

  • 0

    我想你可以试试这个:

    您还可以在控制器中检查唯一值,例如:

    $chkUniqueEmailId = DB::table('users')->where('email', '=', $request->email)->first();
    if(!empty($chkUniqueEmailId)){
     return redirect()->route('auth.register')->withFlashDanger("This Email address is already exists.");
    }
    

    希望这对你有用!

相关问题