繁体   English   中英

Laravel Nova-看不到验证错误消息

Laravel Nova - Can`t see validation error messages

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用Nova仪表板进行项目。 由于某种原因,我看不到验证错误消息。

如果存在验证错误,我可以在浏览器控制台中将其视为异常。 但是在Nova UI中却没有。

如果正确输入了表单的所有字段,则可以看到成功消息。

我是Nova的新手,有人可以帮助我调试此问题吗? 我的意思是我不知道该去哪里寻找解决这个问题的方法

来自浏览器的错误跟踪

{
    "errors":"Sorry, something went wrong.",
    "exception":"Illuminate\\Validation\\ValidationException",
    "message":"The given data was invalid.",
    "trace":[{
        "file":"\/home\/ausvacs\/public_html\/nova\/src\/PerformsValidation.php",
        "line":18,
        "function":"validate",
        "class":"Illuminate\\Validation\\Validator",
        "type":"->",
        "args":[]
    }]
}

Agency nova模型的字段方法(表名称:agency)

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        Text::make('Name')
            ->sortable()
            ->rules('required', 'string'),

    ];
}

浏览器控制台错误

在此处输入图片说明

浏览器网络标签上的例外

在此处输入图片说明

1 个回复

问题出在处理程序(app / Exceptions / Handler.php)中。 不知道以前的开发人员是否更新了此功能。 无论如何,此功能中的问题是:

  • 如果发生验证异常,则返回的状态码为400,即需要422。然后只有Vue组件将显示验证消息。
  • 同样,在这里,错误被推送到“响应”数组的“验证”索引中。 但是Vue组件正在检查“响应”数组的“错误”索引。

    public function render($request, Exception $exception)
    {    
        if ($request->ajax() || $request->wantsJson()) {

            $response = ['errors' => 'Sorry, something went wrong.'];

            $status = 400;

            if ($this->isHttpException($exception)) {
                $status = $exception->getStatusCode();
            }

            if (get_class($exception) == 'Illuminate\Validation\ValidationException') {
                $response['validation'] = $exception->validator->errors();
            }

            return response()->json($response, $status);
        }

        return parent::render($request, $exception);
    }

当我更新代码以在验证异常的情况下将错误代码返回为422并将错误推入响应的“错误”索引而不是“验证”索引时,该问题已修复。

2 Flutter - 无法看到禁用表单字段的验证消息

对于我的Flutter应用程序,我使用许多输入表单字段进行数据输入,并为每个字段分配一个验证方法,对于所有字段,错误消息正常出现,就在字段下方,除了一个从选择器对话框中获取值的字段,因此我将其禁用( enabled=false )以防止用户对其进行输入 禁用字段不显示验证错误消息是否正常? 如果是, ...

3 如何设置 Laravel Nova 操作响应消息的持续时间

根据文档,我们可以在运行操作时返回 toast 消息。 可以使用这种代码显示这些成功消息: 问题是这些消息只在屏幕上显示几秒钟。 我目前正在处理一个需要 5-8 分钟才能执行的操作,因此如果用户点击离开,则无法在屏幕上保留该 Toast 消息,以便在您打开选项卡恢复工作时它就在那里? 也许用“ ...

4 Laravel Nova Actions 多条消息

我可以在论坛中为我的问题找到合适的解决方案。 在我的 Laravel nova 中,我有一些课程类别,如果用户想删除其中的一些,我会创建一个操作来删除数据,但在此之前我会检查这些课程类别中是否有一些课程。 这一切正常。 我将为每个检查过的类别遍历一个 foreach 循环,但如果有些是可删除的,有 ...

6 Laravel 请求验证不显示错误消息

使用组中间件后,我无法访问错误消息。 错误包返回空。 之前没有问题。 我研究了一下,有些用户已经通过更改http/kernel.php解决了这个问题 \\Illuminate\\Session\\Middleware\\StartSession::class, $middlewareGroup ...

7 Laravel 验证错误消息到字符串

我想将 Laravel 验证错误数组转换为逗号分隔的字符串。 这是在 ios 应用程序的 api 服务中使用的。 以便 iOs 开发人员可以轻松处理错误消息。 我试过了, 但它不起作用。 ...

8 Laravel自定义验证错误消息

我有一个自定义的“基本”验证器 和其他验证器扩展“基础”类 当我尝试使用RegisterUserRequest触发表单上的password:min错误时,我收到默认消息,而不是“自定义错误”消息。 我的RegisterUserRequest类出了什么问题? 如果使用BaseU ...

9 无法看到 spring mvc 验证错误消息

我是spring MVC新手。 为了练习我的技能,我制作了一个示例表单,其元素通过相应的controller填充。 现在检查验证部分,我通过注释使用了所有方法,即@NotNull、@Size、@Valid、 BindingResult和BindingResult对象。 以下是我正在使用的文件。 我遵 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM