javascript - 使用 Blade 模板无法进行验证

标签 javascript php jquery laravel twitter-bootstrap-3

我正在尝试验证我的表单,但是当我点击提交按钮时,它总是刷新页面并且没有验证任何内容。所以第一个进程开始于

accountDashboard.blade.php

@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>

accountDashboard.blade.php(路线)

Route::get('/accountDashboard',
[
   'uses' => '\App\Http\Controllers\AccountController@getAccountDashboard',
   'as' => 'account.accountDashboard',
]);

正如您在上面看到的,我有两个按钮,一个用于注册搜索注册。例如,我点击#register按钮, Blade 模板会将其附加到我的第二个panel-body上,ID为#accountBottomContainer。下面是我的 javascript 脚本。

<script>

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

</script>

accountRegister.blade.php

这是我的 Blade 模板,我将从 panel-body 附加它,它工作正常,我只是在验证方面遇到问题。

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


<div class = "form-group {{ $errors->has('email') ? ' has-error' : '' }}">

    <label for = "email" class = "control-label">Email Address</label>
    <input type = "text" name = "email" class = "form-control" value = "{{ Request::old('email') ?: '' }}">

    @if ($errors->has('email'))
        <span class = "help-block">{{ $errors->first('email') }}</span>
    @endif

</div>

<div class = "form-group {{ $errors->has('username') ? ' has-error' : '' }}">

    <label for = "username" class = "control-label">Username</label>
    <input type = "text" name = "username" class = "form-control" value = "{{ Request::old('username') ?: '' }}">

    @if ($errors->has('username'))
        <span class = "help-block">{{ $errors->first('username') }}</span>
    @endif

</div>



<div class = "form-group {{ $errors->has('password') ? ' has-error' : '' }}">

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

    @if ($errors->has('password'))
        <span class = "help-block">{{ $errors->first('password') }}</span>
    @endif


</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>

Controller

public function postRegister(Request $request)
{
    //VALIDATION
    $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',
    ]);

    User::create
    ([

        'username' => $request->input('username'),
        'email' => $request->input('email'),
        'password' => bcrypt($request->input('password')),
    ]);

    return redirect()->route('account.accountRegister');
}

accountRegister.blade.php的路由

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

Route::post('/accountRegister', 
[
   'uses' => '\App\Http\Controllers\AccountController@postRegister',
]);

最佳答案

<div class="form-group @if($errors->has('username')) has-error @endif">
     <label for="username" class="col-sm-2 control-label"></label>
          <div class="col-sm-10">
              <input type="text" class="form-control" name="username" value="{{ Request::old('username') ?: '' }}" readonly="readonly" />
                  @if($errors->has('username'))
                     <span class="help-block">{{ $errors->first('username') }}</span>
                  @endif
       </div>
 </div>

关于javascript - 使用 Blade 模板无法进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38077410/

相关文章:

javascript - 根据按钮点击时给定的信息创建一个标签

jquery - 将其用作背景图像后图像不太清晰

javascript - Android Emulator 浏览器是否适合并可靠地测试 HTML/Javascript 应用程序?

javascript - EmberJS 中的全局 keyDown/keyPress 事件无需设置焦点

php - mysqli_connect 连接到什么数据库表?

php - 如何根据生物识别数据的登录和注销获取工作时间?

javascript - 从 JSON 创建数组数组

javascript - 如何在 JavaScript 中编写包含括号的正则表达式?

javascript - jQuery 将数据发布到 servlet

java - 让 PHP 与 Java 对话的快速而肮脏的方法是什么?