Laravel:验证表单中的名称输入 - php

我正在使用laravel并具有一个表单。如何验证表单中输入字段的名称。因此无法在该字段中输入随机数。这只是一个简单的输入字段:

<div class="col-md-6 col-sm-6">
   <label>First Name: </label>
</div>

<div class="col-md-6 col-sm-6">
   <input type="text" class ="span3" name="first_name" id="first_name" 
      required/><br><br>
</div>

我已经通过一个示例验证了一封电子邮件,并且在您键入后离开该输入框(而不是等待单击提交按钮)后即进行了验证。

我该怎么做?意思是,用户在输入某些内容(数字)后一离开输入字段,便会验证并
说些什么(例如“请输入专有名称”)。我不确定
它是否需要使用正则表达式,以及如何才能获得所需的结果。

我的电子邮件代码为:

<div class="row">
   <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
        <div class="col-md-6 col-sm-6">
            <label>Email: </label>
        </div>
        <div class="col-md-6 col-sm-6">
        <input type="email" class ="span3" id="email" name="email" value="{{ 
              old('email') }}" required/><br><br>
         @if ($errors->has('email'))
           <span class="help-block">
             <strong>{{ $errors->first('email') }}</strong>
           </span>
        @endif
   </div>
</div> 

我能够通过一个示例来执行此操作,并且一旦用户输入,这就会验证电子邮件。

php参考方案

要在Laravel中验证请求,您可以做两件事:

选项1.验证者

假设您的表单被发布到控制器中的test方法中:

public function test(Request $request)
{
    //
}

您可以使用这种方法执行的操作是利用验证器,如下所示:

public function test(Request $request)
{
    $this->validate($request, [
        'email' => 'required|email',
    ]);
}

可以找到Here验证规则的完整列表。当验证规则失败时,使用此选项将抛出很多错误。可以在Here中找到有关如何在视图中显示这些错误的说明。

选项2.表单请求验证

另一种选择是使用请求类。这些请求类可以使用工匠命令生成。该命令的签名如下:

php artisan make:request {NAME OF YOUR REQUEST}

为了这个答案,我将使用一个名为TestRequest的请求类。生成后,该类将如下所示:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class TestRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}

让我们快速将其分解。

authorize函数:
这个功能听起来像它的名字。它确定用户是否有权发出此请求。一个小例子是,在有留言簿的网站上,每个人都可以发表评论,因此您可以执行return true

public function authorize()
{
    return true;
}

但是,如果只希望用户具有一定的权限就被允许,则还可以从此功能中进行检查。但是,authorize函数必须返回一个布尔值(真/假)。要了解如何完成此操作,请阅读Laravel的门here。

rules函数:
在此功能中,可以设置字段的验证规则。这些规则与前面谈论the validator时提到的规则相同。一个小例子是这样的:

 public function rules()
    {
        return [
            'email' => 'required|email'
        ];
    }

其中array元素的键是表单的name属性,值是验证规则的列表,除以|

我建议您大致阅读Laravel的验证,可以通过here完成。

我希望这对您有帮助。干杯!

Laravel 5 dataTables,带有控制器功能的初始化表 - php

我正在尝试创建一个用户的dataTable,其中每一行都有一个下拉子行,其中包含用户权限的复选框。因此,“超级”管理员可以动态地单击用户并在表中分配其特权。首先,不确定这是否是一个好主意,请随时提出一个更好的方法。也许每行一个简单的弹出模式会更容易,但是现在我已经决定这是一种很酷的方法,所以我继续进行。但是,目前尝试用AJAX初始化dataTable令我感到…

Laravel 5中带有文件的Ajax表单提交 - php

我正在尝试在laravel 5中实现fileupload。但是首先要发送数据,例如简单的字符串。我的表格: {!!Form::open(["url"=>"/photos", "method" => "post", "files"=>true,…

提交表单后显示模式对话框 - php

提交下载文件后,我有一张表格。我要自动而不是自动下载文件..以显示模态对话框并显示下载链接。<form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" alig…

使用Ajax呈现html表 - php

我想知道如何实现以下项目其实我有一个php代码,可以渲染一张桌子<table id = "oldata" class ="table table-bordered"> <thead> <tr class ="success"> <th class="…

PHP stringID无法从回显中读入onclick - javascript

我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…