Laravel documentation를 인용 코드 App\Http\Controllers\Controller
은 실제로 ValidatesRequests
형질을 사용합니다. ValidatesRequests
에는 validate
메서드가 있습니다.request()를 통해 validate() 메서드에 액세스 할 수있는 이유는 무엇입니까?</p> 기본적으로 <blockquote> <p>는 Laravel의 기본 컨트롤러 클래스는 강력한 유효성 검사 규칙</p> </blockquote> <p>그것은 사실의 다양한 들어오는 HTTP 요청을 검증 할 수있는 편리한 방법을 제공하는 ValidatesRequests 특성을 사용, 읽기 :
정말 이상한 점은 설명서의 validate
메서드가 $request
개체에서 호출된다는 것입니다. 그리고 그것은이 방법으로 작동합니다. 이 코드로 양식을 확인할 수 있습니다.
public function store()
{
$attributes = request()->validate([
'name' => 'required|string|max:255',
]);
// ...
}
그러나 Request 클래스에는 유효성 검사 메소드가 없습니다. 파일의 시작 부분에 그냥 이상한 주석 행 : 나는 Laravel 설명서에 신뢰 모르는
- :
그래서 두 가지가 있습니다./** * @method array validate(array $rules, array $messages = [], array $customAttributes = []) */
- 그리고 유효성 검사가
$request
개체에서 어떻게 작동하는지 이해할 수 없습니다.
그리고 내 실제 질문은 :
은 내가 $request
객체를 통해 validate
방법을 사용하는 경우 여전히 진정한 문서에서 붙여 초기 견적인가? 그렇다면 어떻게 작동합니까?
감사합니다. 그렇다면이 경우 ValidatesRequests가 쓸모 없다고 생각합니까? Laravel의 초기 인용문은 현재 적합하지 않습니다. (왜냐하면 처음의 인용문이'ValidatesRequests' 특성을 고려하지 않기 때문에 전체 문서가 작성된 방식이기 때문입니다) –
@ rap-2-h 아니요, 쓸모가 없습니다. 그들은 다른 상황을위한 것입니다. * 컨트롤러 *와'request() -> validate()'에서'$ this-> validate()'는 같은 것이 아닙니다. – ceejayoz
죄송합니다. 죄송 합니다만, "쓸모 없지 않다"는 뜻이 아니 었습니다 (어쨌든, 썼습니다). 나는 "당신은 ValidatesRequests가이 경우에는 사용되지 않는다고 생각합니까?"라고 묻고 싶었습니다. 어쨌든 감사합니다! –