@@ -27,87 +27,6 @@ class ValidatorPluginManager extends AbstractPluginManager
2727 'Alnum ' => I18nValidator \Alnum::class,
2828 'alpha ' => I18nValidator \Alpha::class,
2929 'Alpha ' => I18nValidator \Alpha::class,
30- 'barcodecode25interleaved ' => Barcode \Code25interleaved::class,
31- 'barcodeCode25interleaved ' => Barcode \Code25interleaved::class,
32- 'BarcodeCode25interleaved ' => Barcode \Code25interleaved::class,
33- 'barcodecode25 ' => Barcode \Code25::class,
34- 'barcodeCode25 ' => Barcode \Code25::class,
35- 'BarcodeCode25 ' => Barcode \Code25::class,
36- 'barcodecode39ext ' => Barcode \Code39ext::class,
37- 'barcodeCode39ext ' => Barcode \Code39ext::class,
38- 'BarcodeCode39ext ' => Barcode \Code39ext::class,
39- 'barcodecode39 ' => Barcode \Code39::class,
40- 'barcodeCode39 ' => Barcode \Code39::class,
41- 'BarcodeCode39 ' => Barcode \Code39::class,
42- 'barcodecode93ext ' => Barcode \Code93ext::class,
43- 'barcodeCode93ext ' => Barcode \Code93ext::class,
44- 'BarcodeCode93ext ' => Barcode \Code93ext::class,
45- 'barcodecode93 ' => Barcode \Code93::class,
46- 'barcodeCode93 ' => Barcode \Code93::class,
47- 'BarcodeCode93 ' => Barcode \Code93::class,
48- 'barcodeean12 ' => Barcode \Ean12::class,
49- 'barcodeEan12 ' => Barcode \Ean12::class,
50- 'BarcodeEan12 ' => Barcode \Ean12::class,
51- 'barcodeean13 ' => Barcode \Ean13::class,
52- 'barcodeEan13 ' => Barcode \Ean13::class,
53- 'BarcodeEan13 ' => Barcode \Ean13::class,
54- 'barcodeean14 ' => Barcode \Ean14::class,
55- 'barcodeEan14 ' => Barcode \Ean14::class,
56- 'BarcodeEan14 ' => Barcode \Ean14::class,
57- 'barcodeean18 ' => Barcode \Ean18::class,
58- 'barcodeEan18 ' => Barcode \Ean18::class,
59- 'BarcodeEan18 ' => Barcode \Ean18::class,
60- 'barcodeean2 ' => Barcode \Ean2::class,
61- 'barcodeEan2 ' => Barcode \Ean2::class,
62- 'BarcodeEan2 ' => Barcode \Ean2::class,
63- 'barcodeean5 ' => Barcode \Ean5::class,
64- 'barcodeEan5 ' => Barcode \Ean5::class,
65- 'BarcodeEan5 ' => Barcode \Ean5::class,
66- 'barcodeean8 ' => Barcode \Ean8::class,
67- 'barcodeEan8 ' => Barcode \Ean8::class,
68- 'BarcodeEan8 ' => Barcode \Ean8::class,
69- 'barcodegtin12 ' => Barcode \Gtin12::class,
70- 'barcodeGtin12 ' => Barcode \Gtin12::class,
71- 'BarcodeGtin12 ' => Barcode \Gtin12::class,
72- 'barcodegtin13 ' => Barcode \Gtin13::class,
73- 'barcodeGtin13 ' => Barcode \Gtin13::class,
74- 'BarcodeGtin13 ' => Barcode \Gtin13::class,
75- 'barcodegtin14 ' => Barcode \Gtin14::class,
76- 'barcodeGtin14 ' => Barcode \Gtin14::class,
77- 'BarcodeGtin14 ' => Barcode \Gtin14::class,
78- 'barcodeidentcode ' => Barcode \Identcode::class,
79- 'barcodeIdentcode ' => Barcode \Identcode::class,
80- 'BarcodeIdentcode ' => Barcode \Identcode::class,
81- 'barcodeintelligentmail ' => Barcode \Intelligentmail::class,
82- 'barcodeIntelligentmail ' => Barcode \Intelligentmail::class,
83- 'BarcodeIntelligentmail ' => Barcode \Intelligentmail::class,
84- 'barcodeissn ' => Barcode \Issn::class,
85- 'barcodeIssn ' => Barcode \Issn::class,
86- 'BarcodeIssn ' => Barcode \Issn::class,
87- 'barcodeitf14 ' => Barcode \Itf14::class,
88- 'barcodeItf14 ' => Barcode \Itf14::class,
89- 'BarcodeItf14 ' => Barcode \Itf14::class,
90- 'barcodeleitcode ' => Barcode \Leitcode::class,
91- 'barcodeleItcode ' => Barcode \Leitcode::class,
92- 'BarcodeleItcode ' => Barcode \Leitcode::class,
93- 'barcodeplanet ' => Barcode \Planet::class,
94- 'barcodePlanet ' => Barcode \Planet::class,
95- 'BarcodePlanet ' => Barcode \Planet::class,
96- 'barcodepostnet ' => Barcode \Postnet::class,
97- 'barcodePostnet ' => Barcode \Postnet::class,
98- 'BarcodePostnet ' => Barcode \Postnet::class,
99- 'barcoderoyalmail ' => Barcode \Royalmail::class,
100- 'barcodeRoyalmail ' => Barcode \Royalmail::class,
101- 'BarcodeRoyalmail ' => Barcode \Royalmail::class,
102- 'barcodesscc ' => Barcode \Sscc::class,
103- 'barcodeSscc ' => Barcode \Sscc::class,
104- 'BarcodeSscc ' => Barcode \Sscc::class,
105- 'barcodeupca ' => Barcode \Upca::class,
106- 'barcodeUpca ' => Barcode \Upca::class,
107- 'BarcodeUpca ' => Barcode \Upca::class,
108- 'barcodeupce ' => Barcode \Upce::class,
109- 'barcodeUpce ' => Barcode \Upce::class,
110- 'BarcodeUpce ' => Barcode \Upce::class,
11130 'barcode ' => Barcode::class,
11231 'Barcode ' => Barcode::class,
11332 'between ' => Between::class,
@@ -275,33 +194,6 @@ class ValidatorPluginManager extends AbstractPluginManager
275194 protected $ factories = [
276195 I18nValidator \Alnum::class => InvokableFactory::class,
277196 I18nValidator \Alpha::class => InvokableFactory::class,
278- Barcode \Code25interleaved::class => InvokableFactory::class,
279- Barcode \Code25::class => InvokableFactory::class,
280- Barcode \Code39ext::class => InvokableFactory::class,
281- Barcode \Code39::class => InvokableFactory::class,
282- Barcode \Code93ext::class => InvokableFactory::class,
283- Barcode \Code93::class => InvokableFactory::class,
284- Barcode \Ean12::class => InvokableFactory::class,
285- Barcode \Ean13::class => InvokableFactory::class,
286- Barcode \Ean14::class => InvokableFactory::class,
287- Barcode \Ean18::class => InvokableFactory::class,
288- Barcode \Ean2::class => InvokableFactory::class,
289- Barcode \Ean5::class => InvokableFactory::class,
290- Barcode \Ean8::class => InvokableFactory::class,
291- Barcode \Gtin12::class => InvokableFactory::class,
292- Barcode \Gtin13::class => InvokableFactory::class,
293- Barcode \Gtin14::class => InvokableFactory::class,
294- Barcode \Identcode::class => InvokableFactory::class,
295- Barcode \Intelligentmail::class => InvokableFactory::class,
296- Barcode \Issn::class => InvokableFactory::class,
297- Barcode \Itf14::class => InvokableFactory::class,
298- Barcode \Leitcode::class => InvokableFactory::class,
299- Barcode \Planet::class => InvokableFactory::class,
300- Barcode \Postnet::class => InvokableFactory::class,
301- Barcode \Royalmail::class => InvokableFactory::class,
302- Barcode \Sscc::class => InvokableFactory::class,
303- Barcode \Upca::class => InvokableFactory::class,
304- Barcode \Upce::class => InvokableFactory::class,
305197 Barcode::class => InvokableFactory::class,
306198 Between::class => InvokableFactory::class,
307199 Bitwise::class => InvokableFactory::class,
@@ -361,6 +253,97 @@ class ValidatorPluginManager extends AbstractPluginManager
361253 Step::class => InvokableFactory::class,
362254 Timezone::class => InvokableFactory::class,
363255 Uri::class => InvokableFactory::class,
256+
257+ // v2 canonical FQCNs
258+
259+ 'zendvalidatorbarcodecode25interleaved ' => InvokableFactory::class,
260+ 'zendvalidatorbarcodecode25 ' => InvokableFactory::class,
261+ 'zendvalidatorbarcodecode39ext ' => InvokableFactory::class,
262+ 'zendvalidatorbarcodecode39 ' => InvokableFactory::class,
263+ 'zendvalidatorbarcodecode93ext ' => InvokableFactory::class,
264+ 'zendvalidatorbarcodecode93 ' => InvokableFactory::class,
265+ 'zendvalidatorbarcodeean12 ' => InvokableFactory::class,
266+ 'zendvalidatorbarcodeean13 ' => InvokableFactory::class,
267+ 'zendvalidatorbarcodeean14 ' => InvokableFactory::class,
268+ 'zendvalidatorbarcodeean18 ' => InvokableFactory::class,
269+ 'zendvalidatorbarcodeean2 ' => InvokableFactory::class,
270+ 'zendvalidatorbarcodeean5 ' => InvokableFactory::class,
271+ 'zendvalidatorbarcodeean8 ' => InvokableFactory::class,
272+ 'zendvalidatorbarcodegtin12 ' => InvokableFactory::class,
273+ 'zendvalidatorbarcodegtin13 ' => InvokableFactory::class,
274+ 'zendvalidatorbarcodegtin14 ' => InvokableFactory::class,
275+ 'zendvalidatorbarcodeidentcode ' => InvokableFactory::class,
276+ 'zendvalidatorbarcodeintelligentmail ' => InvokableFactory::class,
277+ 'zendvalidatorbarcodeissn ' => InvokableFactory::class,
278+ 'zendvalidatorbarcodeitf14 ' => InvokableFactory::class,
279+ 'zendvalidatorbarcodeleitcode ' => InvokableFactory::class,
280+ 'zendvalidatorbarcodeplanet ' => InvokableFactory::class,
281+ 'zendvalidatorbarcodepostnet ' => InvokableFactory::class,
282+ 'zendvalidatorbarcoderoyalmail ' => InvokableFactory::class,
283+ 'zendvalidatorbarcodesscc ' => InvokableFactory::class,
284+ 'zendvalidatorbarcodeupca ' => InvokableFactory::class,
285+ 'zendvalidatorbarcodeupce ' => InvokableFactory::class,
286+ 'zendvalidatorbarcode ' => InvokableFactory::class,
287+ 'zendvalidatorbetween ' => InvokableFactory::class,
288+ 'zendvalidatorbitwise ' => InvokableFactory::class,
289+ 'zendvalidatorcallback ' => InvokableFactory::class,
290+ 'zendvalidatorcreditcard ' => InvokableFactory::class,
291+ 'zendvalidatorcsrf ' => InvokableFactory::class,
292+ 'zendvalidatordatestep ' => InvokableFactory::class,
293+ 'zendvalidatordate ' => InvokableFactory::class,
294+ 'zendvalidatordbnorecordexists ' => InvokableFactory::class,
295+ 'zendvalidatordbrecordexists ' => InvokableFactory::class,
296+ 'zendvalidatordigits ' => InvokableFactory::class,
297+ 'zendvalidatoremailaddress ' => InvokableFactory::class,
298+ 'zendvalidatorexplode ' => InvokableFactory::class,
299+ 'zendvalidatorfilecount ' => InvokableFactory::class,
300+ 'zendvalidatorfilecrc32 ' => InvokableFactory::class,
301+ 'zendvalidatorfileexcludeextension ' => InvokableFactory::class,
302+ 'zendvalidatorfileexcludemimetype ' => InvokableFactory::class,
303+ 'zendvalidatorfileexists ' => InvokableFactory::class,
304+ 'zendvalidatorfileextension ' => InvokableFactory::class,
305+ 'zendvalidatorfilefilessize ' => InvokableFactory::class,
306+ 'zendvalidatorfilehash ' => InvokableFactory::class,
307+ 'zendvalidatorfileimagesize ' => InvokableFactory::class,
308+ 'zendvalidatorfileiscompressed ' => InvokableFactory::class,
309+ 'zendvalidatorfileisimage ' => InvokableFactory::class,
310+ 'zendvalidatorfilemd5 ' => InvokableFactory::class,
311+ 'zendvalidatorfilemimetype ' => InvokableFactory::class,
312+ 'zendvalidatorfilenotexists ' => InvokableFactory::class,
313+ 'zendvalidatorfilesha1 ' => InvokableFactory::class,
314+ 'zendvalidatorfilesize ' => InvokableFactory::class,
315+ 'zendvalidatorfileupload ' => InvokableFactory::class,
316+ 'zendvalidatorfileuploadfile ' => InvokableFactory::class,
317+ 'zendvalidatorfilewordcount ' => InvokableFactory::class,
318+ 'zendvalidatorgreaterthan ' => InvokableFactory::class,
319+ 'zendvalidatorhex ' => InvokableFactory::class,
320+ 'zendvalidatorhostname ' => InvokableFactory::class,
321+ 'zendi18nvalidatoralnum ' => InvokableFactory::class,
322+ 'zendi18nvalidatoralpha ' => InvokableFactory::class,
323+ 'zendi18nvalidatordatetime ' => InvokableFactory::class,
324+ 'zendi18nvalidatorisfloat ' => InvokableFactory::class,
325+ 'zendi18nvalidatorisint ' => InvokableFactory::class,
326+ 'zendi18nvalidatorisfloat ' => InvokableFactory::class,
327+ 'zendi18nvalidatorisint ' => InvokableFactory::class,
328+ 'zendi18nvalidatorphonenumber ' => InvokableFactory::class,
329+ 'zendi18nvalidatorpostcode ' => InvokableFactory::class,
330+ 'zendvalidatoriban ' => InvokableFactory::class,
331+ 'zendvalidatoridentical ' => InvokableFactory::class,
332+ 'zendvalidatorinarray ' => InvokableFactory::class,
333+ 'zendvalidatorip ' => InvokableFactory::class,
334+ 'zendvalidatorisbn ' => InvokableFactory::class,
335+ 'zendvalidatorisinstanceof ' => InvokableFactory::class,
336+ 'zendvalidatorlessthan ' => InvokableFactory::class,
337+ 'zendvalidatornotempty ' => InvokableFactory::class,
338+ 'zendvalidatorregex ' => InvokableFactory::class,
339+ 'zendvalidatorsitemapchangefreq ' => InvokableFactory::class,
340+ 'zendvalidatorsitemaplastmod ' => InvokableFactory::class,
341+ 'zendvalidatorsitemaploc ' => InvokableFactory::class,
342+ 'zendvalidatorsitemappriority ' => InvokableFactory::class,
343+ 'zendvalidatorstringlength ' => InvokableFactory::class,
344+ 'zendvalidatorstep ' => InvokableFactory::class,
345+ 'zendvalidatortimezone ' => InvokableFactory::class,
346+ 'zendvalidatoruri ' => InvokableFactory::class,
364347 ];
365348
366349 /**
@@ -405,14 +388,14 @@ public function __construct($configOrContainerInstance = null, array $v3config =
405388 *
406389 * {@inheritDoc}
407390 */
408- public function validate ($ instance )
391+ public function validate ($ plugin )
409392 {
410- if (! $ instance instanceof $ this ->instanceOf ) {
393+ if (! $ plugin instanceof $ this ->instanceOf ) {
411394 throw new InvalidServiceException (sprintf (
412395 '%s expects only to create instances of %s; %s is invalid ' ,
413396 get_class ($ this ),
414397 $ this ->instanceOf ,
415- (is_object ($ instance ) ? get_class ($ instance ) : gettype ($ instance ))
398+ (is_object ($ plugin ) ? get_class ($ plugin ) : gettype ($ plugin ))
416399 ));
417400 }
418401 }
@@ -422,12 +405,20 @@ public function validate($instance)
422405 *
423406 * Proxies to `validate()`.
424407 *
425- * @param mixed $instance
426- * @throws InvalidServiceException
408+ * @param mixed $plugin
409+ * @throws Exception\RuntimeException
427410 */
428- public function validatePlugin ($ instance )
411+ public function validatePlugin ($ plugin )
429412 {
430- $ this ->validate ($ instance );
413+ try {
414+ $ this ->validate ($ plugin );
415+ } catch (InvalidServiceException $ e ) {
416+ throw new Exception \RuntimeException (sprintf (
417+ 'Plugin of type %s is invalid; must implement %s ' ,
418+ (is_object ($ plugin ) ? get_class ($ plugin ) : gettype ($ plugin )),
419+ ValidatorInterface::class
420+ ), $ e ->getCode (), $ e );
421+ }
431422 }
432423
433424 /**
@@ -440,15 +431,21 @@ public function validatePlugin($instance)
440431 public function injectTranslator ($ first , $ second )
441432 {
442433 if ($ first instanceof ContainerInterface) {
443- $ locator = $ first ;
434+ $ container = $ first ;
444435 $ validator = $ second ;
445436 } else {
446- $ locator = $ second ;
437+ $ container = $ second ;
447438 $ validator = $ first ;
448439 }
440+
441+ // V2 means we pull it from the parent container
442+ if ($ container === $ this && method_exists ($ container , 'getServiceLocator ' ) && $ container ->getServiceLocator ()) {
443+ $ container = $ container ->getServiceLocator ();
444+ }
445+
449446 if ($ validator instanceof Translator \TranslatorAwareInterface) {
450- if ($ locator && $ locator ->has ('MvcTranslator ' )) {
451- $ validator ->setTranslator ($ locator ->get ('MvcTranslator ' ));
447+ if ($ container && $ container ->has ('MvcTranslator ' )) {
448+ $ validator ->setTranslator ($ container ->get ('MvcTranslator ' ));
452449 }
453450 }
454451 }
@@ -463,10 +460,10 @@ public function injectTranslator($first, $second)
463460 public function injectValidatorPluginManager ($ first , $ second )
464461 {
465462 if ($ first instanceof ContainerInterface) {
466- $ locator = $ first ;
463+ $ container = $ first ;
467464 $ validator = $ second ;
468465 } else {
469- $ locator = $ second ;
466+ $ container = $ second ;
470467 $ validator = $ first ;
471468 }
472469 if ($ validator instanceof ValidatorPluginManagerAwareInterface) {
0 commit comments