2016-07-12 4 views
1

Laravel 5.1에서 사용자 지정 유효성 검사 규칙을 작성하는 방법을 찾는 데 어려움이 있습니다. documentation을 읽었지만 불완전한 것으로 보입니다. 이상을 살펴보면, if (stristr($string, 'test')) { ...과 같은 실제 유효성 확인 로직을 어디에 두어야하는지 알 수 없습니다.사용자 지정 Laravel 유효성 검사 규칙 예

"foo" => "Your input was invalid!", 

"accepted" => "The :attribute must be accepted.", 

// The rest of the validation error messages... 

내 실제 사용 사례가 다소 이상하다,이 질문에 대한 자,의 예제를 사용하자 :

또 다른 한가지를 들어

, 그것은 오류 메시지되어 정의되어 가야 어떤 방법/배열에 표시되지 않습니다 보안 암호의 유효성을 검사합니다. 보안 암호는 소문자와 대문자, 숫자 및 특수 문자가 포함 된 8 자 이상이어야합니다.

사실 꽤 큰 순서인데, 숫자를 확인하는 것은 어떨까요? 또는 값에 문자열 함수를 실행하고 있습니까?

어떻게 이러한 유효성 검사 규칙을 만들 수 있습니까? document you've linked에서 설명한 바와 같이

+0

에 할당? 새로운 사용자 지정 유효성 검사를 추가하는 것이 더 쉽습니다. – Jobayer

+0

@Jobayer 나는 문자 그대로 내 질문에 링크했습니다. – user151841

+0

누군가가 폼에없는 것으로 유효성을 검사하고 싶다면 이것으로 어려움을 겪을 것이라고 생각합니다. 나는 대답을 찾고있다. – ClearBoth

답변

-1

, 당신은 정적 extend 방법을 사용하여 ServiceProviderboot 기능 (예를 들어, AppServiceProvider) 내부에 검증 로직을 넣어해야합니다.

다음은 간단한 예입니다 (문서의 예와 관련됨). https://laravel.com/docs/5.1/validation#custom-validation-rules -이 링크를 확인 했

<?php 

namespace App\Providers; 

use Validator; 
use Illuminate\Support\ServiceProvider; 

class AppServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     Validator::extend('yourFunctionNameHere', function($attribute, $value, $parameters, $validator) { 
      return $value == 'yourTestValueHere'; //change the body as you need it 
     }); 
    } 
} 

사용자의 입력은 $value

+0

이것은 이해할 수없는 것입니다. 실제로 값을 테스트하려면 어떻게해야합니까? 'if (strlen ($ string)) <12) {...'와 같은 것을 어디에 넣어야합니까? – user151841

+0

값은 사용자가 삽입 한 텍스트/문자열입니다. – manniL

+0

실제로 사용자 정의 유효성 검사를 수행 했습니까? 아니면 설명서에서 복사하고 있습니까? 당신의 예제는 내가 제기 한 질문에 대답하지 않습니다. – user151841

관련 문제