2016-06-28 86 views
0

看来我的验证将无法正常工作,如果我点击提交按钮,它只是刷新浏览器,不会验证我的输入,或者我不确定如果Javascript导致验证将无法工作。首先,我将从基于用户选项的empty()append()函数开始从其他文件追加我的注册表单。输入验证不会提示错误

@section ('page-script') 

<script> 

    $(document).on("click", "#register", function() 
    { 
     $.get("accountRegister", function (data) 
     { 
      $("#accountBottomContainer").empty(); 
      $("#accountBottomContainer").append(data); 
     }); 
    }); 
</script> 

@endsection 

正如你可以在这里看到下面,我在我的panel-body命名#accountBottomContainer

Screenshot

这里,我附上我的register.blade.php如果追加register.blade.php用户在添加panel-body之后点击register按钮,该按钮具有id = accountBottomContainer

@section ('content') 

<div class = "row"> 

    <div class = "col-xs-12 col-md-8"> 

     <div class = "panel panel-default"> 

      <div class = "panel-heading"> 

       <h2>Account Dashboard</h2> 
       <hr> 

      </div> 

      <div class = "panel-body"> 

       <button type = "button" class = "btn btn-info" id = "register">Register Employee</button> 
       <button type = "button" class = "btn btn-info" id = "searchEmployee">Search Employee</button> 

       <div class = "row"> 
       <br> 
        <div class="col-md-10"> 

         <div class = "panel panel-default"> 

          <div class = "panel-body" style = "height: 500px" id = "accountBottomContainer"> 


          </div> 

         </div> 

        </div> 
       </div> 

      </div> 

     </div> 

    </div> 

</div> 

@endsection

与验证表单

这里,我遍历每个错误以检查用户错过填满文本框之一。

@if (count($errors) > 0) 


<div class = "row"> 
    <div class = "col-md-6"> 
     <ul> 
      @foreach($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
</div> 

@endif 
<form class = "form-vertical" role = "form" method = "post" action = "{{ route ('account.accountRegister') }}"> 


    <div class = "form-group"> 

     <label for = "email" class = "control-label">Email Address</label> 
     <input type = "text" name = "email" class = "form-control" id = "email"> 

    </div> 

    <div class = "form-group"> 

     <label for = "username" class = "control-label">Username</label> 
     <input type = "text" name = "username" class = "form-control" id = "username"> 

    </div> 



    <div class = "form-group"> 

     <label for = "password" class = "control-label">Password</label> 
     <input type = "password" name = "password" class = "form-control" id = "password"> 

    </div> 

    <div class = "form-group"> 

     <button type = "submit" class = "btn btn-default">Sign Up</button> 

    </div> 

    <input type = "hidden" name = "_token" value = "{{ Session::token() }}"> 

</form> 

控制器

public function postRegister(Request $request) 
{ 
    $this->validate($request, [ 
          //This will be unique in users table 
     'email' => 'required|unique:users|email|max:255', 
     'username' => 'required|unique:users|alpha_dash|max:20', 
     'password' => 'required|min:6', 
    ]); 
} 

路线

Route::get('/accountRegister', 
[ 
    'uses' => '\App\Http\Controllers\[email protected]', 
    'as' => 'account.accountRegister', 
]); 

Route::post('/accountRegister', 
[ 
    'uses' => '\App\Http\Controllers\[email protected]', 
]); 
+0

考虑在您的HTML属性的等号之前和之后没有空格。它提高了可读性! (注意:这不是解决您的问题,只是一个建议):http://stackoverflow.com/questions/3551541/using-spaces-before-and-after-the-sign-of-html-element-attribute –

回答

0

在你的JavaScript中,你使用#register ID,但我不能看到它的HTML端。这是一个错误吗? 您应该使用:

$(document).on("submit", "#theIdOfYourFormTag", function() { 
+0

我更新了我的帖子,请再看看:) – Francisunoxx

+0

你有链接,我可以试试吗? – hyde