일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Git
- it
- java
- elasticsearch
- Spring
- Web Server
- springboot
- Design Patterns
- jenkins
- MySQL
- devops
- Oracle
- php
- AWS
- laravel
- ReactJS
- redis
- 맛집
- Gradle
- javascript
- IntelliJ
- JVM
- linux
- tool
- Spring Batch
- db
- ubuntu
- 요리
- jsp
- Spring Boot
- Today
- Total
아무거나
validator(유효성검증) 본문
validator
브라우저에서 입력값의 유효성 검사를 위해서 제공되는 클래스(서버측에서도 체킹해야하기 때문.)
입력값과 Rule을 인자로 전달받아서 결과를 확인할 수 있다.
입력값 검증 실패시 $error 를 통해서 메세지를 뿌릴 수 있다.
- 모델에 소스 추가
[소스]
class Lecture extends Model
{
protected $table = 'lecture';
protected $primaryKey = 'no';
protected $fillable = ['title', 'done'];
// 추가
public static $rules = [
'title' => 'required'
];
}
- 컨트롤러에 소스 추가(store)
[소스]
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;
$validator = Validator::make($data = Input::all(), Lecture::$rules);
// 만약 입력값중에 rules 에 지정한 값이 없으면..
if($validator->fails()) {
// 이전페이지로 돌아가라 근데 밸리데이터에서 확인한 에러를 같이 보여줘서 처리를해라.
return redirect()->back()->withErrors($validator->errors())->withInput();
}
- 뷰에 에러 메세지 표시할 내용 추가
[소스]
// 에러가 하나라도 있으면 이 내용을 표시
@if($errors->any())
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="ture"></span>
<span class="sr-only">Error:</span>
@foreach ($errors->all() as $message)
{{ $message }}
@endforeach
</div>
@endif
- 밸리데이션은 라라벨에서 제공하는 다양한 룰이 있으므로 문서를 확인하자(https://laravel.kr/docs/5.5/validation)
'PHP > Laravel' 카테고리의 다른 글
파일업로드 (0) | 2019.04.05 |
---|---|
Eloquent + Pagination 사용 (0) | 2019.04.05 |
옐로퀀트ORM 활용 (0) | 2019.04.04 |
뷰 생성(blade) 및 데이터 표시(템플릿 엔진 활용방법) (0) | 2019.04.04 |
마이그레이션 (0) | 2019.04.03 |