# src/AppBundle/Resources/config/validation.yml
AppBundle\Entity\Author:
properties:
firstName:
- NotBlank: ~
message: "Обязательно заполните это поле"
- Length:
min: 5
minMessage: "мало символов, символов должно быть больше {{ limit }}"
- Regex:
pattern: '/@!/' //?
match: false
message: "Вы не можете использовать эти символы {{ pattern }}"
- Type: string
message: "В поле могут быть только {{ type }} символы"
Какая версия?(app|bin)/console --version
Права на кэш верно выставлены?
Почитить кэш - имел ввидуrm -rf (app|var)/cache/$SYMFONY_ENV
Кэш чистил двумя способами :1) a) sudo chmod 777 -R var/ b) php bin/console cache:clear --env=dev c) php bin/console cache:clear --env=prod 2) sudo rm -rf var/cache/
Тип конфигурации используется один для бандла?
Тип конфигурации при установке ставил yml. Больше не чего не менял.
config_ENV.yml не перекрывает config.yml?
скорее всего не перекрывают, хотя точно не уверен.
конфиги://config.yml imports: - { resource: parameters.yml } - { resource: security.yml } - { resource: services.yml } #- { resource: sonata_media.yml } - { resource: "@AppEducationBundle/Resources/config/parameters_upload.yml" } - { resource: "@AppEducationBundle/Resources/config/services.yml" } #- { resource: "@ApplicationSonataMediaBundle/Resource/config/sonata_media.yml" } # Put parameters here that don't need to change on each machine where the app is deployed # http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration parameters: locale: en framework: #esi: ~ translator: { fallbacks: en } secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } #serializer: { enable_annotations: true } templating: engines: ['twig'] default_locale: en trusted_hosts: ~ trusted_proxies: ~ session: # http://symfony.com/doc/current/reference/configuration/framework.html#handler-id handler_id: session.handler.native_file save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%" fragments: ~ http_method_override: true assets: ~ # Twig Configuration twig: debug: "%kernel.debug%" strict_variables: "%kernel.debug%" # Doctrine Configuration doctrine: dbal: driver: pdo_mysql host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 #SonataMediaBundle # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # e.g. database_path: "%kernel.root_dir%/data/data.db3" # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: # path: "%database_path%" orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true #SonataMediaBundle # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } assetic: debug: '%kernel.debug%' use_controller: '%kernel.debug%' filters: cssrewrite: ~ doctrine_phpcr: odm: auto_mapping: true auto_generate_proxy_classes: "%kernel.debug%" session: backend: type: doctrinedbal # connection: default # requires DoctrineCacheBundle # caches: # meta: doctrine_cache.providers.phpcr_meta # nodes: doctrine_cache.providers.phpcr_nodes # enable logging logging: true # enable profiling in the debug toolbar. profiling: true workspace: default username: admin password: admin fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: App\EducationBundle\Entity\User registration: form: type: App\EducationBundle\Form\RegistrationType group: group_class: App\EducationBundle\Entity\Group
//config_dev.yml imports: - { resource: config.yml } framework: router: resource: "%kernel.root_dir%/config/routing_dev.yml" strict_requirements: true profiler: { only_exceptions: false } web_profiler: toolbar: true intercept_redirects: false monolog: handlers: main: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug channels: [!event] console: type: console channels: [!event, !doctrine] # uncomment to get logging in your browser # you may have to allow bigger header sizes in your Web server configuration #firephp: # type: firephp # level: info #chromephp: # type: chromephp # level: info #swiftmailer: # delivery_address: me@example.com
//config_prod.yml imports: - { resource: config.yml } #doctrine: # orm: # metadata_cache_driver: apc # result_cache_driver: apc # query_cache_driver: apc monolog: handlers: main: type: fingers_crossed action_level: error handler: nested nested: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug console: type: console
composer depends symfony/validator
Выдаёт "symfony/symfony vX.Y.Z replaces symfony/validator (self.version)"?
Выдает следущее:sonata-project/admin-bundle 3.9.0 requires symfony/validator (^2.3 || ^3.0) sonata-project/core-bundle 3.1.1 requires symfony/validator (^2.3 || ^3.0) sonata-project/media-bundle 3.3.0 requires symfony/validator (^2.3 || ^3.0) symfony/symfony v3.1.5 replaces symfony/validator (self.version)
Есть предположение что может павлиял SonataAdminBundle (Хотя так же сомневаюсь).
Извеняюсь за задержку ответа.
$password = 'password'; // Сам пароль
$hash1 = md5($password); // Хешируем первоначальный пароль
$salt = 'sflprt49fhi2'; // Соль
$saltedHash = md5($hash1 . $salt); // Складываем старый хеш с солью и пропускаем через функцию md5()
$hash = crypt('password'); // crypt генерирует соль и хеширует, используя алгоритм по умолчанию
if (crypt($password, $hash) == $hash) { // crypt извлекает соль из существующего хеша и хеширует входящий пароль с её использованием
// Пароль верен
}
<input name="product" required>
"Пожалуйста, заполните поле формы" - изменить средствами сифони НЕВОЗМОЖНО потому, что это фишка браузера и только его (возможно где то в браузере или дополнительно скомпилированый код поможет решить эту проблему alt-ов к форме тегов ). И единственное как пользователю показать ошибки при заполнении формы это списки под полем, в данном случае в симфони это отображается через ошибки к примеру:
{{ form_errors(form.name) }}
где и будет генерироваться ошибка и выводится на экран, Пока это все что я смог найти по данной задаче. Позже отпишу как можно и это реализовать.)))