2013-11-22 2 views
0

나는 항상 통과하는 유효성 검사기가 있습니다. 사용자 이름이 3 자 미만인 경우 실패해야합니다. 여기 Laravel 4 간단한 폼 유효성 확인

내 경로입니다

Route::get('/', function() 
{ 
return View::make('validation.form'); 
}); 

Route::post('registration', function() 
{ 
// Fetch all request data. 
$data = Input::all(); 
var_dump($data); 
// Build the validation constraint set. 
$rules = array(
'username' => 'alpha_num|min:3' //or username =>array('alpha_num','min:3') 
); 
var_dump($rules); 
// Create a new validator instance. 
$validator = Validator::make($data, $rules); 

if ($validator->passes()) { 
// Normally we would do something with the data. 
return 'Data was saved.'; 
} 


return 'data not saved'; 

}); 

그리고 울부 짖는 소리 '내'형태이다

{{ Form::open(array('url' => 'registration')) }} 

{{-- Username field. ------------------------}} 
{{ Form::label('username', 'Username') }} 
{{ Form::text('username') }} 
<br/> 

{{-- Email address field. -------------------}} 
{{ Form::label('email', 'Email address') }} 
{{ Form::email('email') }} 
<br/> 


{{-- Password field. ------------------------}} 
{{ Form::label('password', 'Password') }} 
{{ Form::password('password') }} 
<br/> 


{{-- Password confirmation field. -----------}} 
{{ Form::label('password_confirmation', 'Password confirmation') }} 
{{ Form::password('password_confirmation') }} 
<br/> 


{{-- Form submit button. --------------------}} 
{{ Form::submit('Register') }} 


{{ Form::close() }} 

나는 항상 메시지 데이터 saved.Why로/등록에 전달하고 제출 버튼을 클릭하면 유효성 검사기가 작동하지 않는 이유는 무엇입니까? 모든 아이디어

+0

var_dumps를 추가 할 수 있습니까? – clod986

+0

데이터가 성공적으로 전달되었습니다 .. 필요한 경우에도 사용되었으며 빈 입력으로는 실패했지만 너무 작음 : 3 실패합니다. – John

답변

1

규칙이 입력이 채워지는지 여부를 확인해야합니다. 규칙을 적용하지 않고 빈 입력을 제공하면 유효성 검사기는 min : 3을 무시하고 suc 하지만 두 개의 문자를 입력하면 실패 할 것입니다. 빈 데이터 사용을 피하기 위해 규칙을 사용해야합니다.

+0

나는 당신이 그것을 못 박았다고 생각한다 – clod986

0
'username' => = 'required|alpha_num|min:3|max:15'; 
+2

당신의 솔루션에 대한 설명을 추가하십시오 - http://stackoverflow.com/help/how-to-answer –