Laravel 5.4-Validate(양식 검증) 사용 사례

9813 단어
1. 뷰의 양식
@if(count($errors)>0)

오류:

@foreach($errors->all() as $error) {{$error}} @endforeach
@endif

2. 컨트롤러에서 데이터 검증
폼의 전송post 요청은test 루트에 _token, code, name, team, age, school, url 7개의 데이터를 전송했습니다.
라우팅이 Restfulapi 로 작성된 경우 커밋 방식에 따라 디렉터에 해당하는 store 방법을 직접 찾습니다.
Route::resource('test', 'TestController');  


완전한 컨트롤러 검증 방법은 다음과 같다 Validate 검증 방식)
public function store(Request $request) {//$data =\Input:::all ();//데이터 검증 $this->validate ($request,['code'=>'required|digits:32',//필수 32비트'name'=>'required|min:2|max:16',//필수 최소 2비트 최대 16비트'team'=>'required|string',//필수 문자열'age'=>'required|numeric',//필수 수치'school'=>'required|max:255',//필수 최대 255위'url'=>'required|url'//필수 웹 주소여야 합니다.];//이상은 폼 검증이 성공하지 않으면 아래의 논리 프로그램으로 가지 않을 뿐만 아니라 페이지에서 던진 이상 정보에 응답합니다.......}
//규칙 $rules =array('code'=>'required|digits:32',//필수 32비트'name'=>'required|min:2|max:16',//필수 최소 2비트 최대 16비트'team'=>'required|string',//필수 문자열'age'=>'required|numeric',//필수 수치'school'=>'required|max:255',//필수 최대 255위'url'=>'required|||'url'//필수 주소가 웹 주소여야 함);//인증서 $validator =\Validator::make($data, $rules);//검증 if($validator->passes() {//검증 성공 후 업무 논리...}else {//실패 후 제출 페이지로 돌아가 오류return back () -> withErrors ('오류 원인을 사용자 정의합니다!');}

검증 규칙 전체

accepted
검증에서 이 필드의 값은 yes, on, 1 또는true여야 합니다. 이것은 서비스 프로토콜에 동의할 때 유용합니다.active_url
이 필드는 PHP 함수 checkdnsrr 기반의 유효한 URL이어야 합니다.after:date
이 필드는 주어진 날짜 후의 값이어야 합니다. 날짜는 PHP 함수strtotime을 통해 전달됩니다.
'start_date' => 'required|date|after:tomorrow'  


strtotime 검증 전달 날짜 문자열을 사용하지 않고 다른 비교 필드를 지정할 수 있습니다.
'finish_date' => 'required|date|after:start_date'  

alpha
이 필드는 문자여야 합니다.alpha_dash
이 필드는 문자와 숫자, 대시 및 밑줄을 포함할 수 있습니다.alpha_num
이 필드는 문자 또는 숫자여야 합니다.array
이 필드는 PHP 배열이어야 합니다.before:date
유효성 검사 필드는 PHP strtotime 함수에 전달될 날짜를 지정하기 전의 값이어야 합니다.between:min,max
유효성 검사 필드 크기가 지정된 최소값과 최대값 사이에 있으며 문자열, 수치 및 파일에서 이 규칙을 사용할 수 있습니다.boolean
검증 필드는 boolean으로 전환되어true,false,1,0,"1","0"등의 입력을 받을 수 있어야 합니다.confirmed
검증 필드에는 일치하는 필드가 있어야 합니다. 예를 들어 검증 필드가password라면 일치하는 passwordconfirmation 필드를 입력해야 합니다.date
유효성 검사 필드는 PHP strtotime 함수를 기반으로 하는 유효한 날짜여야 합니다.date_format:format
유효성 검사 필드는 지정된 형식과 일치해야 합니다. 이 형식은 PHP 함수 dateparsefromformat을 사용하여 유효성을 검사합니다.필드를 검증할 때date나dateformat을 사용해야 합니다different:field
인증 필드는 지정된 필드와 다른 값이어야 합니다.digits:value
검증 필드는 숫자이고 길이가value에 지정된 값이어야 합니다digits_between:min,max
유효성 검사 필드 길이는 최소값과 최대값 사이여야 합니다.dimensions
검증된 이미지 크기는 해당 매개변수에 지정된 제약조건을 충족해야 합니다.
'avatar' => 'dimensions:min_width=100,min_height=200'  


유효한 제약조건은 다음과 같습니다. min_width, max_width, min_height, max_height, width, height, ratioratio 제약은 너비/높이여야 합니다. 표현식 3/2 또는 부동 소수점 1.5를 통해 표시할 수 있습니다.
'avatar' => 'dimensions:ratio=3/2'  

distinct 배열을 처리할 때 검증 필드에 중복된 값을 포함할 수 없습니다.
'foo.*.id' => 'distinct'  

email
인증 필드는 포맷된 전자 메일 주소여야 합니다exists:table,column.
인증 필드는 지정된 데이터 테이블에 있어야 합니다.
기본 사용:
'state' => 'exists:states'  


사용자 정의 열 이름을 지정합니다.
'state' => 'exists:states,abbreviation'  


더 많은 조회 조건을 where 조회 자구에 추가할 수 있습니다.
'email' => 'exists:staff,email,account_id,1'  


다음과 같은 조건도 포함될 수 있습니다!:
'email' => 'exists:staff,email,role,!admin'  


NULL 또는 NOT NULL을 where 자구에 전달할 수도 있습니다.
'email' => 'exists:staff,email,deleted_at,NULL'  
'email' => 'exists:staff,email,deleted_at,NOT_NULL'  


때때로, exists 조회를 위해 사용할 데이터베이스 연결을 지정해야 할 수도 있습니다. 이것은 테이블 이름 앞에서 통과할 수 있습니다.선행 데이터베이스 연결:
'email' => 'exists:connection.staff,email'  

file
이 인증 필드는 업로드된 파일이어야 합니다.filled
유효성 검사 필드가 있으면 비어 있을 수 없습니다.image
검증 파일은 그림 (jpeg, png, bmp,gif 또는svg) 인:foo,bar...
유효성 검사 필드 값은 지정된 목록에 있어야 합니다.in_array:
인증 필드는 다른 필드에 있어야 합니다.integer
유효성 검사 필드는 정형이어야 합니다.ip
인증 필드는 IP 주소여야 합니다.JSON
유효한 JSON 문자열이어야 합니다.max:value
검증 필드는 최대 값보다 작아야 하며, 문자열, 수치, 파일 필드의size 규칙과 함께mimetypes:text/plain을 사용해야 합니다.
유효성 검사 파일은 지정된 MIME 파일 유형 중 하나와 일치해야 합니다.
'video' => 'mimetypes:video/avi,video/mpeg,video/quicktime'  


파일을 업로드하는 MIME 유형을 판단하기 위해 프레임워크는 파일 내용을 읽고 MIME 유형을 추측합니다. 이것은 클라이언트 MIME 유형과 다를 수 있습니다.mimes:foo,bar,…
유효성 검사 파일의 MIMIE 유형은 이 규칙에 나열된 확장 유형 중 하나여야 합니다.
MIMIE 규칙의 기본 사용:
'photo' => 'mimes:jpeg,bmp,png'  


확장자만 지정하면 되지만, 이 규칙은 파일 내용을 읽어서 얻을 수 있는 파일 MIME 형식을 실제로 검증합니다.전체 MIME 유형 목록과 그에 상응하는 확장은 여기에서 찾을 수 있습니다.http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types min:value
유효성 검사 필드의 최소값, 문자열, 수치, 파일 필드의size 규칙과 함께 사용nullable
검증 필드는 null이어야 합니다. 이것은 null을 위한 원본 데이터, 예를 들어 정형이나 문자열을 검증할 때 유용합니다.not_in:foo,bar,…
유효성 검사 필드 값이 지정된 목록에 없음numeric
유효성 검사 필드는 숫자여야 합니다.present
검증 필드는 입력 데이터에 나타나야 하지만 비어 있을 수 없습니다.regex:pattern
유효성 검사 필드는 지정된 정규 표현식과 일치해야 합니다.
_ : regex , , , 。_

required
입력한 필드 값은 비어 있을 수 없으며 다음 경우 필드 값은 비어 있습니다.
 null
 
 Coutable 
 

required_if:anotherfield,value,…
인증 필드는 다른 필드가 지정한 값value와 같을 때 필수입니다.required_unless:anotherfield,value,…
anotherfield 필드가value인 것을 제외하고는 검증 필드가 비어 있을 수 없습니다required_with:foo,bar,…
인증 필드는 다른 지정한 필드만 존재해야 합니다required_with_all:foo,bar,…
인증 필드는 지정된 모든 필드가 있는 경우에만 필요합니다.required_without:foo,bar,…
인증 필드는 지정된 필드가 없는 경우에만 필요합니다.required_without_all:foo,bar,…
인증 필드는 모든 지정된 필드가 존재하지 않는 경우에만 필요합니다.same:field
지정된 필드와 유효성 검사 필드가 일치해야 합니다.size:value
검증 필드는 주어진 값value와 일치하는 사이즈가 있어야 하며, 문자열에 대해value는 상응하는 문자 수이다.수치에 대해value는 정형값을 부여한다.파일에 대해 말하자면value는 상응하는 파일 바이트 수이다string
유효성 검사 필드는 문자열이어야 합니다.timezone
유효성 검사 문자는 PHP 함수 timezoneidentifierslist 기반의 유효한 시간대 표식이어야 합니다unique:table,column,except,idColumn
검증 필드는 주어진 데이터 테이블에서 유일해야 합니다.column 옵션을 지정하지 않으면 필드 이름은 기본column입니다.
사용자 정의 열 이름을 지정합니다.
'email' => 'unique:users,email_address'  


데이터베이스 연결 사용자 정의
때때로, 사용자 정의 검증기가 생성한 데이터베이스 연결이 필요할 수도 있습니다. 위에서 보듯이 unique:users를 검증 규칙으로 설정하면 기본 데이터베이스 연결을 사용하여 데이터베이스를 조회할 수 있습니다.기본 연결을 덮어쓰려면 데이터 테이블 이름 뒤에 "."를 사용하십시오.연결 지정:
'email' => 'unique:connection.users,email_address'  


고유 규칙을 적용하여 지정된 ID를 무시합니다.
고유 검사 시 지정된 ID를 무시할 수도 있습니다. 예를 들어 사용자 이름을 포함하는메일박스 주소와 위치의 업데이트 속성"인터페이스, 물론 당신은 메일 주소가 유일하다는 것을 검증할 것입니다. 그러나 만약에 사용자가 사용자 이름 필드만 바꾸고 메일 필드를 바꾸지 않았다면 사용자가 이미 이 메일 주소를 가지고 있다고 해서 인증 오류를 던지고 싶지 않습니다. 사용자가 제공한 메일이 다른 사람이 사용한 상황에서만 인증 오류를 던지고 싶습니다. 유일한 규칙에 사용자 ID를 무시하고 세 번째 매개 변수로 ID를 전달할 수 있음을 알려야 합니다.
'email' => 'unique:users,email_address,'.$user->id  


데이터 테이블에서 키 필드가 id가 아닌 경우 네 번째 입력 매개 변수를 지정할 수 있습니다.
'email' => 'unique:users,email_address,'.$user->id.',user_id'  


추가 where 자구를 추가합니다.
더 많은 조건을 where 자구에 지정할 수 있습니다.
'email' => 'unique:users,email_address,NULL,id,account_id,1'  


상기 규칙에는 account_만 있습니다id가 1이어야 유일성 검사를 할 수 있습니다.url
유효성 검사 필드는 PHP 함수 기반 filter_ 여야 합니다.var 필터링된 유효한 URL
size:value

필드 값의 크기는 주어진value 값에 부합해야 합니다.문자열에 대해value는 일치하는 문자열의 길이입니다.숫자에 대해 말하자면value는 부합되는 정수치이다.파일에 대해 말하자면value는 부합되는 파일 크기 (단위 kb) 이다.

좋은 웹페이지 즐겨찾기