Laravel 개발: Laravel 유효성 검사를 사용하여 요청 데이터를 검증하는 방법은 무엇입니까?
Laravel은 현재 가장 인기 있는 PHP 프레임워크 중 하나이며, 그 이유 중 하나는 Laravel 유효성 검사와 같은 뛰어난 구성 요소를 많이 제공하기 때문입니다. 웹 개발 과정에서 우리는 프론트엔드에서 제출한 데이터가 폼 제출 등의 사양에 맞는지 검증해야 하는 경우가 많습니다. 이때 데이터 검증을 위해 Laravel Validation 컴포넌트를 사용해야 합니다.
이 글에서는 Laravel Validation의 기본적인 사용법과 예시를 소개하겠습니다.
컨트롤러에 검증기 소개:
use IlluminateSupportFacadesValidator;
Laravel 검증은 필수, 이메일, 날짜 등 다양한 검증 규칙을 지원합니다. 우리는 필요에 따라 선택할 수 있습니다. 다음 표에는 일반적으로 사용되는 몇 가지 규칙이 나열되어 있습니다.
날짜 | |
regex | |
max | |
min | |
Validator 파사드의 make 메소드 사용:
public function validate(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]); if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); } // 验证通过,执行代码 }
public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]; } public function register(Request $request) { $this->validate($request, $this->rules()); // 验证通过,执行代码 }
if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); }
@if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span> @endif
Custom 오류 메시지
public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]; } public function messages() { return [ 'name.required' => '名称不能为空', 'email.required' => '邮箱不能为空', 'email.email' => '请输入正确的邮箱地址', 'email.unique' => '该邮箱已经被注册', 'password.required' => '密码不能为空', 'password.max' => '密码长度不能超过:max个字符', ]; } public function register(Request $request) { $validator = Validator::make($request->all(), $this->rules(), $this->messages()); if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); } // 验证通过,执行代码 }
위 내용은 Laravel 개발: Laravel 유효성 검사를 사용하여 요청 데이터의 유효성을 검사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!