2014-11-24 3 views
0

안녕하세요 기꺼이 내 텍스트 필드에 대한 사용자 지정 유효성 검사 규칙을 사용하려면 http://laravel.com/docs/4.2/validation#custom-validation-rulesLaravel 사용자 정의 암호 유효성 검사

을하지만 경우에 박히 내 사용자 지정 유효성 검사를 사용하고 싶습니다 .. 나는 내 코드에서 뭔가 잘못했다고 생각합니다.

글쎄, password textfield에 validatePassword() 메소드 (validation.php)를 사용하고 싶습니다. 코드는 모든 사용자 지정 유효성 검사기를 필요로하지 않을 수 있습니다 프로젝트의 범위를 반영하는 경우

<?php 
// app/validators/validation.php 
class validation extends Illuminate\Validation\Validator 
{ 

     public function validateFoo($attribute, $value, $parameters){ 

     //return $value == 'foo'; 
     echo "this is the: " . $value; 
     } 
     //{4,} will match strings of length 4 or more. 
     protected function validatePassword($attribute, $value) { 
      return (bool) preg_match('/^[a-z]{4,}+$/', $value); 
      die('test'); 
     } 



} 

답변

0

: 여기

public function update($id) 
{ 

    $user_old_data = User::find($id); 

    $input_password = Input::get('password'); 

    Validator::resolver(function($translator, $data, $rules, $messages) 
    { 
     return new validation($translator, $data, $rules, $messages); 
    }); 


    /*Validator::extend('validatePassword', function($input_passwords,$input_passwords){ 

    });*/ 

    /*$validator = Validator::make($data = $thisUser, User::$rules); 

    if ($validator->passes()) { 

     if($user_old_data['email'] != $new_email){ 

      $email_exists = User::FindEmailOrFail2(Input::get('email'));  

      if($email_exists) 
       return Redirect::back()->withErrors($validator)->withInput(); 
     } 


     //maak message variabel aan in je user index view. 
     return Redirect::to('user/users')->with('message', 'Update with new password succesfull'); 
    } */ 

    return Redirect::back()->withErrors($validator)->withInput(); 
} 

내 validation.php입니다 : 여기

내 UserController.php입니다 . 사용자 모델에서 $rules 중 하나로 pattern:/^[a-z]{4,}$/을 사용할 수 있습니다. http://laravel.com/docs/4.2/validation#basic-usage

사용한 패턴 :

당신은 Laravel의 문서의 예를 볼 수 있습니다 /^[a-z]{4,}+$/은 문자열의 끝에서 Z와 더하기 기호를 소문자 a를 일치하는 4 자 이상부터 시작하여 "로 해석 될 수있다 끈". 더하기 기호 (regex가 앞에 한정 기호로 인해 문자 그대로 해석하고 있음)를 제거하면 올바르게 작동합니다.

변경 한 후 artisan optimize을 기억하십시오. compiled.php가 다시 컴파일되었는지 확인하십시오.

+0

패턴이 작동하지 않지만 다음은 작동합니다. 'password'=> 'regex :/^ [a-z] {4,} + $ /'그러나 완전히 작동하지 않습니다. 'asdf'를 입력하면 유효한 입력이어야합니다. 그러나 나는 계속 메시지를 받는다 : 암호 형식이 유효하지 않다. 도와 줄수있으세요? – superkytoz

+0

다른 모든 사용자 정의 유효성 검사를 제거 했습니까? –

+0

예, 제가 가지고 있기 때문에 : link : http://pastebin.com/WJe2YWSS – superkytoz

관련 문제