当前位置: 首页 > 知识库问答 >
问题:

laravel验证程序不显示错误

蒋航
2023-03-14

我不熟悉Laravel和其他PHP框架。

尝试使用简单的表单和验证,如中的示例https://laravel.com/docs/5.1/validation

路线。php

Route::get('/post/', 'PostController@create');
Route::post('/post/store', 'PostController@store');

创造刀身php

<html>
<head>
    <title>Post form</title>

</head>
<body>
 <h1>Create Post</h1>
    <form action="/post/store" method="POST">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
        <div class="form-group">
            <label for="title">Title</label>   

            <input type="text" id="title"  name='title'>
          </div>
          <button type="submit" class="btn btn-default">Save</button>
    </form>
</body>

PostController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use View;
use Validator;

class PostController extends Controller
{
    /**
     * Show the form to create a new blog post.
     *
     * @return Response
     */
    public function create()
    {
        return view('post.create');
    }

    /**
     * Store a new blog post.
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        // Validate and store the blog post...

        $validator = Validator::make($request->all(), [
            'title' => 'required|min:5'
        ]);

        if ($validator->fails()) {

            dd($validator->errors);
            //return redirect('post')
                        //->withErrors($validator)
                        //->withInput();
        }
    }
}

当我发布无效数据时:

后置控制器中出现错误异常。php第37行:未定义的属性:Illumb\Validation\Validator::$errors

验证程序对象也没有错误。

如果在控制器中启用

return redirect('post')->withErrors($validator)
                   ->withInput();

并在形式上启用

@if (count($errors) > 0)
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

出错

c5df03aa6445eda15ddf9d4b3d08e7882dfe13e1中出现错误异常。php第1行:未定义变量:错误(视图:/www/alexey-laravel-1/resources/views/post/create.blade.php)

默认情况下,此错误将请求从验证器重定向到窗体。

共有1个答案

赵浩邈
2023-03-14

要使视图中的$errors可用,相关路由必须位于web中间件中:

Route::group(['middleware' => ['web']], function () {
    Route::get('/post/', 'PostController@create');
    Route::post('/post/store', 'PostController@store');
});
 类似资料:
  • @将有效的打印信息发送到控制台,但不发送到页面 当我的字段有错误@Valid print info到控制台时,为什么不在第页? 字段hotelName上的对象formData中的字段错误:拒绝的值[];代码[Size.formData.hotelName, Size.hotelName, Size.java.lang.String, size];参数[org.springframework.con

  • 阅读文章:enable在验证后立即打开modal框,但是,显示没有发生错误,只显示表单,我相信这是因为该操作再次调用jquery表单,因为我使用的是远程函数bootstrap 3 modal。 解决方法提示,请在模式窗口中显示错误。 控制器: 模态形式: Jquery操作: 我认为这个远程端正在加载引导模式,就像一个新调用一样,因此他的没有显示任何内容。 谢谢你的帮助

  • 我有一个简单的网络界面,在这里我可以为交易所的个人加密货币交易选择特定的市场、价格、目标和止损点。 我添加了一些默认的laravel验证规则,其中一些显示在Web界面上,就像它们应该的那样,但其中一个特别是在它确实触发时没有,因为当我检查错误时,它确实显示在响应中。 在这里,表单显示错误,除了在停顿部分,但停顿错误没有显示在网络界面上: 我已经简化了规则,只有“要求”用于测试目的,也有更多的规则它

  • 因此,很明显,它识别出输入的名称太短,但我在视图中没有得到任何错误消息,正如这里所预期的:。

  • 堆栈跟踪:异常'Symfony\Component\Debug\Exc0019\FatalErrorExc0019'与消息'语法错误,意外'}"在D:\xampp\htdocs\guestlara\app\控制器\LoginController.php:23

  • 我的应用程序中嵌入了swagger ui。当我在本地运行我的节点应用程序时,UI工作得很好。 但是,当我将UI部署到我的“real”服务器时,我会在我的招摇过市UI的右下角看到一个错误图像: 我确信这是我正在做的事情,这会把事情搞砸,但我不知道。当我通过http访问swagger ui时,它也可以在本地工作。 然而,当我部署时,我通过apache运行并通过https提供服务,我看到一个错误。更糟糕

  • 我试图让我的javascript验证电话号码输入,并在用户输入信息不正确时显示消息。我还设置了另外两个输入,所以我复制了其中一个,并用phoneNumber替换了名称,但没有结果。没有HTML的替代品,请它是我必须使用我的评估。 这里我只包含了电话号码输入的代码。http://jsfiddle.net/29ZNV/ 超文本标记语言 JAVASCRIPT

  • 有一张Zend登记表。输入用户名、电子邮件、密码和确认密码。电子邮件验证程序如下所示: 有4个验证器:必需类型、电子邮件格式以及数据库中是否有人具有以下电子邮件。错误消息如下:-需要电子邮件-电子邮件地址格式无效-电子邮件地址已存在 尝试使用ajax捕获错误消息和输出时出现问题。在具有以下功能的RegisterController中: 和jQuery文件: 在控制台我得到了这样的东西https:/