2014-04-04 5 views
0

Laravel에이 문제가 있으며 라우트 된 컨트롤러 및 x.blade.php 파일을 기반으로 양식을 작성합니다. 페이지가 잘 보이고, 데이터를 입력하고 규칙을 테스트 할 수 있습니다. 모두 괜찮습니다. 문제는 데이터를 제출하는 것입니다. 제출을 클릭하면 "이메일 주소가 필요합니다"라는 오류 메시지가 다시 나타납니다.

내가 제출 한 이메일 주소에 데이터가 있습니다. $rules$validation이 경로 파일에있는 경우 작동합니다. 나는 전자 메일 필드에 데이터가 표시되지 않는 것을 이해하지 못합니다.
데이터베이스에는 적절한 필드가있는 users라는 테이블이 있습니다.
Laravel 4 양식 데이터가 DB에 제출되지 않았습니다.

경로 파일 :

Route::get('register', '[email protected]'); 
Route::post('logging', '[email protected]'); 

User.php 파일 :

<?php 
use Illuminate\Auth\UserInterface; 
use Illuminate\Auth\Reminders\RemindableInterface; 

class User extends Eloquent implements UserInterface, RemindableInterface 
{ 

public static $rules = array(
'email' => 'required|email|unique:users', 
'password' => 'required|alpha_num|between:6,20|same:password_confirm', 
'password_confirm' => 'required' 
); 
//user.php default values 
} 

LoginController.php 파일 :

<?php 
class LoginController extends BaseController 
{ 
    public function __construct() 
    { 
    $this->beforeFilter('csrf', array('on'=>'post')); 
    } 
    public $layout = 'layout.registration'; 
    public function getRegistration() 
    { 
    // 
    } 
    public function postCreate() 
    { 
    $validation = Validator::make(Input::all(), User::$rules); 
    if ($validation->fails()) 
    { 
     return Redirect::to('register')->withErrors($validation)->withInput(); 
    } 
     $users = new User; 
     $users->email = Input::get('email'); 
     $users-password = Hash::make(Input::get('password')); 
     if ($users->save()) 
    { 
     Auth::loginUsingId($users->id); 
     return Redirect::to('profile'); 
    } 
     return Redirect::to('register')-withInput(); 
    } 
} 

registration.blade.php 파일 :

+0

아마도 생성자 방법이 잘못 렸기 때문일 수 있습니다. __contruct – kJamesy

+0

thats 뚱뚱한 손가락, 고맙습니다 말한다 : – Benny

답변

1

email 필드가 없습니다. 전자 메일 필드의 레이블이 있지만 실제로 필드 자체를 출력 할 때는 이름을 text으로 설정합니다.

<?= Form::text('email', Input::old('email')) ?>을 대신 사용해보십시오.

또한 나중에 두통을 줄이기 위해 주석을 달았으므로 생성자 함수의 철자가 잘못되었습니다. 현재와 ​​마찬가지로 csrf 유효성 검사를 수행하지 않습니다.

+0

와우! 지금 바보 같다고 생각합니다 ... 입력 필드를 유효성 검사 대상과 비슷한 이름으로 지정하는 것이 이치에 맞습니다. 고맙습니다 :) – Benny

관련 문제