유효성 검사에서 두 날짜를 비교하고 싶습니다. 사용자가 시작일과 종료일을 입력 할 것입니다. 시작일을 확인하려고합니다. 어제 일 수 없습니다. 종료일은 시작일 전날이 아닙니다. laravel 검증 과정을 안내해주십시오.날짜 유효성 검사에서 비교 Laravel 5.2
-1
A
답변
0
나는 당신의 App\Providers\ValidationServiceProvider
클래스 I가 정의한 세 가지 새로운 지정 유효성 검사가 있습니다
//end date must be equal to value or greate than value
Validator::extend('dateequalorearlier', function($attribute, $value, $parameters, $validator) {
$date_compare = array_get($validator->getData(), $parameters[0]);
return Carbon::parse($date_compare) >= Carbon::parse($value);
});
//end date must be greater
Validator::extend('dateearlier', function($attribute, $value, $parameters, $validator) {
$date_compare = array_get($validator->getData(), $parameters[0]);
return Carbon::parse($date_compare) > Carbon::parse($value);
});
//start time must be earlier
Validator::extend('earliertime', function($attribute, $value, $parameters, $validator) {
$time_compare = array_get($validator->getData(), $parameters[0]);
return Carbon::parse($time_compare) > Carbon::parse($value);
});
boot()
방법 날짜에 대한 사용자 정의 검증, 장소 다음과 같은 기능을 할 수 제안, 하나는 동일한 날짜입니다 이전에는 두 번째 날짜가 이전 날짜이고 세 번째 날짜는 이전 시간이므로 시간 유효성 검사가 필요하다면 필요하지 않으면 그냥 제거하십시오.
언어 유효성 검사 파일에 적절한 오류 메시지를 넣어야합니다 (resources\lang\validation.php
에서 찾으십시오).
'dateequalorearlier' => 'The Start date must be an earlier date or Same date from End date',
'dateearlier' => 'The Start date must be an earlier date from End date',
'earliertime' => 'The Start time must be an earlier time from End time',
는 당신은 당신이 다음 코드와 같이 가장 원하는 사용자 지정 유효성 검사를 사용할 수 있습니다.
$rules = [
'start_date' => 'required|date|dateequalorearlier:end_date',
'end_date' => 'required|date',
];
$messages = [
'start_date.required' => 'Start date is a required field.',
'start_date.date' => 'Start date must be in a valid date format (YYYY-MM-DD).',
'start_date.dateequalorearlier' => 'Start date must be an earlier date or Same date from End date.',
'end_date.required' => 'End date is a required field.',
'end_date.date' => 'End date must be in a valid date format (YYYY-MM-DD).',
];
$validator = Validator::make($request->all(),$rules,$messages);
if($validator->fails()){
$this->throwValidationException($request,$validator);
}
유효성 검사를하고있는 어느 곳을 검증 외관을 포함했는지 확인 ..
use Illuminate\Support\Facades\Validator;
관련 문제
- 1. Laravel 입력 유효성 검사에서 시스템 날짜 사용
- 2. Laravel 5.2 날짜 변경
- 3. Laravel 5.2 유효성 검사 리디렉션
- 4. Laravel 5.2 조건부 유효성 검사
- 5. Laravel 5.2 컨트롤러의 유효성 검사
- 6. Laravel 5.2 현재 날짜 및 시간과 날짜 시간을 비교합니다.
- 7. Laravel 5.2 + 양식 확인 유효성 확인
- 8. Laravel 5.2 파일 배열 유효성 확인
- 9. Laravel 5.2
- 10. laravel 5.2
- 11. Laravel 5.2
- 12. 추가] 키 값 쌍은 내가 laravel 5.2 폼 요청 유효성 검사에서 JSON 출력을 얻고있다
- 13. 비교 유효성 검사기를 사용하여 두 날짜 비교
- 14. Laravel 5.2 datepicker
- 15. Xpage : 날짜 유효성 검사에서 유효성 검사 메시지가 나타나지 않습니다.
- 16. VerifyCsrfToken.php의 TokenMismatchException Laravel 5.2
- 17. Laravel 5.2 자산 구현
- 18. Laravel 5.2 앱
- 19. Laravel 5.2 disable csrf_token
- 20. Laravel 지역화 문제 5.2+
- 21. Laravel 5.2 모델 구조
- 22. Laravel 5.2 아약스 코드는
- 23. Laravel 5.2 데이터베이스 트랜잭션
- 24. laravel 5.2 내 컨트롤러에서
- 25. 왜 Laravel 5.2
- 26. Laravel 5.2 컨트롤러에서보기 다시보기
- 27. Laravel 5.2 TokenMismatchException
- 28. Laravel 5.2 저장소 패턴
- 29. 삭제 기능 Laravel 5.2
- 30. Laravel 5.2 경로/href가
내가 테스트하고 U에 피드백을 제공하지 않을 경우 곧 –
예, 그것은 작동해야이 실행됩니다 터미널에'$ composer dump-autoload' 코드를 추가하여 자동으로로드 된 파일을 재생성 한 후에도 ValidationServiceProvider 클래스의'Use Validator;','Carbon \ Carbon; –