Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0adec76

Browse files
committed
add email_validation_mode option
1 parent72e189a commit0adec76

File tree

18 files changed

+173
-5
lines changed

18 files changed

+173
-5
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,27 @@ private function addValidationSection(ArrayNodeDefinition $rootNode)
645645
->arrayNode('validation')
646646
->info('validation configuration')
647647
->{!class_exists(FullStack::class) &&class_exists(Validation::class) ?'canBeDisabled' :'canBeEnabled'}()
648+
->validate()
649+
->ifTrue(function ($v) {returnisset($v['strict_email']) &&isset($v['email_validation_mode']); })
650+
->thenInvalid('"strict_email" and "email_validation_mode" cannot be used together.')
651+
->end()
652+
->beforeNormalization()
653+
->ifTrue(function ($v) {returnisset($v['strict_email']); })
654+
->then(function ($v) {
655+
@trigger_error('The "framework.validation.strict_email" configuration key has been deprecated in Symfony 4.1. Use the "framework.validation.email_validation_mode" configuration key instead.',E_USER_DEPRECATED);
656+
657+
return$v;
658+
})
659+
->end()
660+
->beforeNormalization()
661+
->ifTrue(function ($v) {returnisset($v['strict_email']) && !isset($v['email_validation_mode']); })
662+
->then(function ($v) {
663+
$v['email_validation_mode'] =$v['strict_email'] ?'strict' :'loose';
664+
unset($v['strict_email']);
665+
666+
return$v;
667+
})
668+
->end()
648669
->children()
649670
->scalarNode('cache')->end()
650671
->booleanNode('enable_annotations')->{!class_exists(FullStack::class) &&class_exists(Annotation::class) ?'defaultTrue' :'defaultFalse'}()->end()
@@ -658,7 +679,8 @@ private function addValidationSection(ArrayNodeDefinition $rootNode)
658679
->end()
659680
->end()
660681
->scalarNode('translation_domain')->defaultValue('validators')->end()
661-
->booleanNode('strict_email')->defaultFalse()->end()
682+
->booleanNode('strict_email')->end()
683+
->enumNode('email_validation_mode')->values(array('html5','loose','strict'))->end()
662684
->arrayNode('mapping')
663685
->addDefaultsIfNotSet()
664686
->fixXmlConfig('path')

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,10 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
976976
thrownewLogicException('Validation support cannot be enabled as the Validator component is not installed.');
977977
}
978978

979+
if (!isset($config['email_validation_mode'])) {
980+
$config['email_validation_mode'] ='loose';
981+
}
982+
979983
$loader->load('validator.xml');
980984

981985
$validatorBuilder =$container->getDefinition('validator.builder');
@@ -994,7 +998,7 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
994998
}
995999

9961000
$definition =$container->findDefinition('validator.email');
997-
$definition->replaceArgument(0,$config['strict_email']);
1001+
$definition->replaceArgument(0,$config['email_validation_mode']);
9981002

9991003
if (array_key_exists('enable_annotations',$config) &&$config['enable_annotations']) {
10001004
if (!$this->annotationsConfigEnabled) {

‎src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@
199199
<xsd:attributename="cache"type="xsd:string" />
200200
<xsd:attributename="enable-annotations"type="xsd:boolean" />
201201
<xsd:attributename="static-method"type="xsd:boolean" />
202+
<xsd:attributename="strict-email"type="xsd:boolean" />
203+
<xsd:attributename="email-validation-mode"type="email-validation-mode" />
202204
</xsd:complexType>
203205

204206
<xsd:complexTypename="file_mapping">
@@ -207,6 +209,14 @@
207209
</xsd:sequence>
208210
</xsd:complexType>
209211

212+
<xsd:simpleTypename="email-validation-mode">
213+
<xsd:restrictionbase="xsd:string">
214+
<xsd:enumerationvalue="html5" />
215+
<xsd:enumerationvalue="loose" />
216+
<xsd:enumerationvalue="strict" />
217+
</xsd:restriction>
218+
</xsd:simpleType>
219+
210220
<xsd:complexTypename="annotations">
211221
<xsd:attributename="cache"type="xsd:string" />
212222
<xsd:attributename="debug"type="xsd:string" />

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ protected static function getBundleDefaultConfig()
162162
'enable_annotations' => !class_exists(FullStack::class),
163163
'static_method' =>array('loadValidatorMetadata'),
164164
'translation_domain' =>'validators',
165-
'strict_email' =>false,
166165
'mapping' =>array(
167166
'paths' =>array(),
168167
),
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework',array(
4+
'validation' =>array(
5+
'email_validation_mode' =>'html5',
6+
),
7+
));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework',array(
4+
'validation' =>array(
5+
'strict_email' =>true,
6+
'email_validation_mode' =>'strict',
7+
),
8+
));
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework',array(
4+
'validation' =>array(
5+
'strict_email' =>false,
6+
),
7+
));
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework',array(
4+
'validation' =>array(
5+
'strict_email' =>true,
6+
),
7+
));
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" ?>
2+
<containerxmlns="http://symfony.com/schema/dic/services"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:framework="http://symfony.com/schema/dic/symfony"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
6+
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
7+
8+
<framework:config>
9+
<framework:validationemail-validation-mode="html5" />
10+
</framework:config>
11+
</container>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" ?>
2+
<containerxmlns="http://symfony.com/schema/dic/services"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:framework="http://symfony.com/schema/dic/symfony"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
6+
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
7+
8+
<framework:config>
9+
<framework:validationstrict-email="true"email-validation-mode="strict" />
10+
</framework:config>
11+
</container>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp