Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Silex自定义验证程序注册_Php_Symfony_Silex_Custom Validators - Fatal编程技术网

Php Silex自定义验证程序注册

Php Silex自定义验证程序注册,php,symfony,silex,custom-validators,Php,Symfony,Silex,Custom Validators,我创建了一个要在Silex中使用的自定义验证器,但在尝试访问它时出现以下错误: PHP Fatal error: Class 'Sisu\\Validator\\Constraints\\ImeiValidator' not found in var/www/sisuwhitelabel/vendor/silex/silex/src/Silex/ConstraintValidatorFactory.php on line 85 我的限制: Imei.php <?php namesp

我创建了一个要在Silex中使用的自定义验证器,但在尝试访问它时出现以下错误:

PHP Fatal error:  Class 'Sisu\\Validator\\Constraints\\ImeiValidator' 
not found in var/www/sisuwhitelabel/vendor/silex/silex/src/Silex/ConstraintValidatorFactory.php 
on line 85
我的限制:

Imei.php

<?php
namespace Sisu\Validator\Constraints;

use Symfony\Component\Validator\Constraint;

class Imei extends Constraint
{
    public $message = "Here message";

    public function validateBy()
    {
        return get_class($this).'Validator';
    }
}
我在应用程序中使用它,如下所示:

$form->add('productIdentifier', 'text', array(
                'required' => false,
                'constraints' => array(
                    new Imei(
                        array('message' => 'xxxxx')
                    )
)
);
我找到了答案。 约束Imei和验证器ImeiValidator应位于同一文件夹中

有关此主题的更多信息,请参见:

<?php
namespace Sisu\Provider;

use Silex\Application;
use Silex\ServiceProviderInterface;
use Sisu\Validator\ImeiValidator;

class ImeiValidatorServiceProvider implements ServiceProviderInterface
{
    public function register(Application $app)
    {
        $app['validator.imei'] = $app->share(function($app) {
            $validator = new ImeiValidator();
            return $validator;
        });
    }

    public function boot(Application $app)
    {
    }
}
$app->register(new Sisu\Provider\ImeiValidatorServiceProvider());
$form->add('productIdentifier', 'text', array(
                'required' => false,
                'constraints' => array(
                    new Imei(
                        array('message' => 'xxxxx')
                    )
)
);