validate
blade์ ์ถ๊ฐํ ์ ์๋ ๋ถ๋ถ
{!! csrf_field() !!} : crsf๊ณต๊ฒฉ์ ๋ง๊ธฐ ์ํด _tokenํค๋ฅผ ๊ฐ์ง ์จ์ ํ๋๋ฅผ ๋ง๋๋ ๋์ฐ๋ฏธ ํจ์์ธ๋ฐ, ์ด ํจ์๊ฐ ์ถ๋ ฅํ htmlํ๊ทธ๋ฅผ ์ด์ค์ผ์ดํํ์ง ์๊ธฐ ์ํด
{!! !!}
๋ฌธ๋ฒ์ ์ฌ์ฉ{{old('title')}} = old() : ์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํด์ ์ด ํ์ด์ง๋ก ๋ค์ ๋์์์ ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๊ฐ์ ์ ์งํ๊ธฐ ์ํ ๋์ฐ๋ฏธ ํจ์๋ก ์ธ์ ์ ์ธ์๋ก ๋๊ธด ํค๊ฐ ์์ผ๋ฉด null์ ๋ฐํํ๋ค.
Controller ์์ฑ
1. ๊ธฐ๋ณธ๋ฐฉ๋ฒ
$rules : ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํ ๊ท์น์ ์ ์ํ ๋ฐฐ์ด๋ก ์ฐ๊ด๋ ๋ฐฐ์ด๋ก ํํํ๊ฑฐ๋
required|min:10
์ฒ๋ผ ๋ฌธ์์ด๋ก ํํํด๋ ๋๋ค.$validator : \Validator::make())๋ฉ์๋๋ก ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ ์ ์๋๋ฐ ์ฒซ๋ฒ์งธ ์ธ์๋ ๊ฒ์ฌ์ ๋์์ด ๋๋ ํผ ๋ฐ์ดํฐ์ด๊ณ , ๋๋ฒ์งธ๊ฐ ๊ท์น์ด๋ค.
$validator()->passes() : ๊ฒ์ฌ ์ฑ๊ณต์ true
$validator()->fails() : ๊ฒ์ฌ ์คํจ์ true
back() : ์ด์ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๋ ๋ฉ์๋๋ก
redirect(route('articles.create'))
์ ๊ฐ๋ค.withErrors() : ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ ์ธ์คํด์ค๋ฅผ ์ธ์๋ก ๋ฐ์ ๊ฒ์ฌ ์คํจ ์ด์ ๋ฅผ ์ธ์ ์๋ค ์ ์ฅํ๋ ๋ฉ์๋
withInput() : ํผ ๋ฐ์ดํฐ๋ฅผ ์ธ์ ์ ์ ์ฅํ๋ ์ญํ ๋ก view์ old()ํจ์๋ ์ด ๋ฉ์๋๊ฐ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ค.
with() : ์ธ์๋ก ๋ฐ์ key-value ์์ ์ธ์ ์ ์ ์ฅํ๋ ์ญํ ๋ก ์ฌ์ฉ์์๊ฒ
ํผ๋๋ฐฑ
์ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ
์
๋ ฅํผ์ ๋ฐ๋ฅธ ์ค๋ฅ๋ฉ์์ง ์ค์
$validator์ ๊ฐ์๋ ์์ด๊ฐ์ด ์ ์ฅ๋์ด ์๋ฌ๊ฐ ์์ด๋ก ํ์๋๋๋ฐ ์ ์ญ ์ธ์ด ์ค์ ์ ํ๊ธ๋ก ๋ฐ๊พธ์ด๋ ์์ด๋ก ํ์๋๋ค. ์ด๋ ์ ํจ์ฑ ๊ฒ์ฌ ์ค๋ฅ๋ฅผ ํ์ํ๋ ์ธ์ด ํ์ผ์ด ์์ด์์ด๋ค. ์ด๋ ์์ฝ๋์ ๊ฐ์ด make()๋ฉ์๋์ ์ธ๋ฒ์งธ ์ธ์๋ก ๋ฉ์์ง๋ฅผ ์ ์ํ ๋ฐฐ์ด์ ์ฃผ๋ฉด ํ๊ธ๋ก ํ์๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
2. ํธ๋ ์ดํธ ๋ฉ์๋ ์ด์ฉ
์์๋ฐ์ Controller๋ Illuminate\Foundation\Validation\ValidatesRequests
ํธ๋ ์ดํธ๋ฅผ ์ํฌํธ ํ๊ณ ์๋๋ฐ ์ด ํด๋์ค์ validate()
๋ฉ์๋๋ฅผ ์ด์ฉํด์ 1๋ฒ์ ๋ฐฉ๋ฒ์ธ \Validator::make()
์ ๊ฐ์ ์ญํ ์ ์ํํ ์ ์๋ค.
3. ํผ ๋ฆฌํ์คํธ ํด๋์ค ์ด์ฉ
php artisan make:request ArticlesRequest
๋ช
๋ น์ด๋ก ํผ ๋ฆฌํ์คํธ ํด๋ ์ค๋ฅผ ๋ง๋ค๋ฉด app/Http/Requests
๋๋ ํ ๋ฆฌ ๋ฐ์ ์์ฑ์ด ๋๋ค.
authorize() : ์ฌ์ฉ์๊ฐ ์ด ํด๋์ค๋ฅผ ์ฃผ์ ๋ฐ๋ ๋ฉ์๋์ ์ ๊ทผํ ๊ถํ์ด ์๋์ง๋ฅผ ๊ฒ์ฌํ์ฌ ์๋น์ค๋ฅผ ๋ณดํธํ๋ ์ผ์ ์ํ
rules() : ์ญํ ๋ค ์ ์
messages() : ์ค๋ฅ๋ฉ์์ง๋ค ์ ์
attributes() : ์ค๋ฅ ๋ฉ์์ง์ ํ์ํ ํ๋ ์ด๋ฆ์ ์ฌ์ฉ์๊ฐ ์ปค์คํ ํ์ฌ ๋ฐ๊ฟ ์ ์๊ณ ์ด ๋ฉ์๋๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ํ๋ ์ด๋ฆ์ default๋ก ์ค๋ฅ๋ฉ์์ง์ ํ์๋๋ค.
Controller์ ๋ฉ์๋์์๋ ๋งค๊ฐ๋ณ์๋ก Request
๊ฐ ์๋ ์ฐ๋ฆฌ๊ฐ ์ ์ํ Request
๋ฅผ ์ฃผ์
์์ผ์ฃผ๋ฉด ๋ฉ์๋๋ด์์ ์ ํจ์ฑ๊ฒ์ฌ ๋ก์ง์ด ๋น ์ ธ๋ ๊ฒ์ฌ๊ฐ ์ํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
Last updated