php - Laravel 4 中未加载自定义验证类

标签 php validation laravel laravel-4 composer-php

我正在尝试在 Laravel 4 中编写自己的验证类。为此,我创建了一个名为 app/validators 的新目录。然后,我将此目录添加到 composer.json 类映射中并运行 composer update,如下所示:

"classmap": [
    "app/commands",
    "app/controllers",
    "app/models",
    "app/validators",           <- added here
    "app/database/migrations",
    "app/database/seeds",
    "app/tests/TestCase.php"
]

我的验证类如下所示:

class LinkValidation extends Illuminate\Validation\Validator {
{
    public function validateHost($field, $value, $params)
    {
        return $value == 'test';
    }
}

在我的 Controller 中,我尝试像这样扩展验证器:

Validator::extend('awesome', 'LinkValidation@supportedHost');

但是,我在加载页面时遇到此错误:

{
    "error":{
        "type":"ReflectionException",
        "message":"Class LinkValidation does not exist",
        "file":"C:\\xampp\\htdocs\\laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
        "line":301
    }
}

有什么想法为什么 Laravel 不会加载该类吗?我认为如果添加到 Composer 的类映射中它会自动完成。

最佳答案

不确定为什么它不起作用,但我认为您应该尝试将其添加到 app/start/global.php 中。

/*
|--------------------------------------------------------------------------
| Register The Laravel Class Loader
|--------------------------------------------------------------------------
|
| In addition to using Composer, you may use the Laravel class loader to
| load your controllers and models. This is useful for keeping all of
| your classes in the "global" namespace without Composer updating.
|
*/

ClassLoader::addDirectories(array(

    app_path().'/commands',
    app_path().'/controllers',
    app_path().'/models',
    app_path().'/database/seeds',
    app_path().'/validators',

));

关于php - Laravel 4 中未加载自定义验证类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19600757/

相关文章:

java - 检查预定义的字符串值 Hibernate Validator

php - Laravel 8,找不到模型工厂类

php - Laravel 转换器 vs 资源

php - Zend Framework 中数据库驱动路由的教程?

php - 如何将表单提交到 Bootstrap Modal(将 POST 方法发送到 Modal)Laravel

php while循环错误使用mysql_fetch_array

laravel - 您如何使用此 GitHub Actions 工作流程设置 PHP 版本?

php - 从 Twig 设置数组元素

javascript - 在 JavaScript 中将无效 JSON 对象转换为有效 JSON 对象

django - 我需要一些帮助来理解 Django 表单验证器