Subversion-Projekte lars-tiefland.laravel_shop

Revision

Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Validation\Concerns;
4
 
5
use Illuminate\Support\Arr;
6
 
7
trait ReplacesAttributes
8
{
9
    /**
10
     * Replace all place-holders for the accepted_if rule.
11
     *
12
     * @param  string  $message
13
     * @param  string  $attribute
14
     * @param  string  $rule
15
     * @param  array<int,string>  $parameters
16
     * @return string
17
     */
18
    protected function replaceAcceptedIf($message, $attribute, $rule, $parameters)
19
    {
20
        $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0]));
21
 
22
        $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
23
 
24
        return str_replace([':other', ':value'], $parameters, $message);
25
    }
26
 
27
    /**
28
     * Replace all place-holders for the declined_if rule.
29
     *
30
     * @param  string  $message
31
     * @param  string  $attribute
32
     * @param  string  $rule
33
     * @param  array<int,string>  $parameters
34
     * @return string
35
     */
36
    protected function replaceDeclinedIf($message, $attribute, $rule, $parameters)
37
    {
38
        $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0]));
39
 
40
        $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
41
 
42
        return str_replace([':other', ':value'], $parameters, $message);
43
    }
44
 
45
    /**
46
     * Replace all place-holders for the between rule.
47
     *
48
     * @param  string  $message
49
     * @param  string  $attribute
50
     * @param  string  $rule
51
     * @param  array<int,string>  $parameters
52
     * @return string
53
     */
54
    protected function replaceBetween($message, $attribute, $rule, $parameters)
55
    {
56
        return str_replace([':min', ':max'], $parameters, $message);
57
    }
58
 
59
    /**
60
     * Replace all place-holders for the date_format rule.
61
     *
62
     * @param  string  $message
63
     * @param  string  $attribute
64
     * @param  string  $rule
65
     * @param  array<int,string>  $parameters
66
     * @return string
67
     */
68
    protected function replaceDateFormat($message, $attribute, $rule, $parameters)
69
    {
70
        return str_replace(':format', $parameters[0], $message);
71
    }
72
 
73
    /**
74
     * Replace all place-holders for the decimal rule.
75
     *
76
     * @param  string  $message
77
     * @param  string  $attribute
78
     * @param  string  $rule
79
     * @param  array<int,int>  $parameters
80
     * @return string
81
     */
82
    protected function replaceDecimal($message, $attribute, $rule, $parameters)
83
    {
84
        return str_replace(
85
            ':decimal',
86
            isset($parameters[1])
87
                ? $parameters[0].'-'.$parameters[1]
88
                : $parameters[0],
89
            $message
90
        );
91
    }
92
 
93
    /**
94
     * Replace all place-holders for the different rule.
95
     *
96
     * @param  string  $message
97
     * @param  string  $attribute
98
     * @param  string  $rule
99
     * @param  array<int,string>  $parameters
100
     * @return string
101
     */
102
    protected function replaceDifferent($message, $attribute, $rule, $parameters)
103
    {
104
        return $this->replaceSame($message, $attribute, $rule, $parameters);
105
    }
106
 
107
    /**
108
     * Replace all place-holders for the digits rule.
109
     *
110
     * @param  string  $message
111
     * @param  string  $attribute
112
     * @param  string  $rule
113
     * @param  array<int,string>  $parameters
114
     * @return string
115
     */
116
    protected function replaceDigits($message, $attribute, $rule, $parameters)
117
    {
118
        return str_replace(':digits', $parameters[0], $message);
119
    }
120
 
121
    /**
122
     * Replace all place-holders for the digits (between) rule.
123
     *
124
     * @param  string  $message
125
     * @param  string  $attribute
126
     * @param  string  $rule
127
     * @param  array<int,string>  $parameters
128
     * @return string
129
     */
130
    protected function replaceDigitsBetween($message, $attribute, $rule, $parameters)
131
    {
132
        return $this->replaceBetween($message, $attribute, $rule, $parameters);
133
    }
134
 
135
    /**
136
     * Replace all place-holders for the min rule.
137
     *
138
     * @param  string  $message
139
     * @param  string  $attribute
140
     * @param  string  $rule
141
     * @param  array<int,string>  $parameters
142
     * @return string
143
     */
144
    protected function replaceMin($message, $attribute, $rule, $parameters)
145
    {
146
        return str_replace(':min', $parameters[0], $message);
147
    }
148
 
149
    /**
150
     * Replace all place-holders for the min digits rule.
151
     *
152
     * @param  string  $message
153
     * @param  string  $attribute
154
     * @param  string  $rule
155
     * @param  array<int,string>  $parameters
156
     * @return string
157
     */
158
    protected function replaceMinDigits($message, $attribute, $rule, $parameters)
159
    {
160
        return str_replace(':min', $parameters[0], $message);
161
    }
162
 
163
    /**
164
     * Replace all place-holders for the max rule.
165
     *
166
     * @param  string  $message
167
     * @param  string  $attribute
168
     * @param  string  $rule
169
     * @param  array<int,string>  $parameters
170
     * @return string
171
     */
172
    protected function replaceMax($message, $attribute, $rule, $parameters)
173
    {
174
        return str_replace(':max', $parameters[0], $message);
175
    }
176
 
177
    /**
178
     * Replace all place-holders for the max digits rule.
179
     *
180
     * @param  string  $message
181
     * @param  string  $attribute
182
     * @param  string  $rule
183
     * @param  array<int,string>  $parameters
184
     * @return string
185
     */
186
    protected function replaceMaxDigits($message, $attribute, $rule, $parameters)
187
    {
188
        return str_replace(':max', $parameters[0], $message);
189
    }
190
 
191
    /**
192
     * Replace all place-holders for the multiple_of rule.
193
     *
194
     * @param  string  $message
195
     * @param  string  $attribute
196
     * @param  string  $rule
197
     * @param  array<int,string>  $parameters
198
     * @return string
199
     */
200
    protected function replaceMultipleOf($message, $attribute, $rule, $parameters)
201
    {
202
        return str_replace(':value', $parameters[0] ?? '', $message);
203
    }
204
 
205
    /**
206
     * Replace all place-holders for the in rule.
207
     *
208
     * @param  string  $message
209
     * @param  string  $attribute
210
     * @param  string  $rule
211
     * @param  array<int,string>  $parameters
212
     * @return string
213
     */
214
    protected function replaceIn($message, $attribute, $rule, $parameters)
215
    {
216
        foreach ($parameters as &$parameter) {
217
            $parameter = $this->getDisplayableValue($attribute, $parameter);
218
        }
219
 
220
        return str_replace(':values', implode(', ', $parameters), $message);
221
    }
222
 
223
    /**
224
     * Replace all place-holders for the not_in rule.
225
     *
226
     * @param  string  $message
227
     * @param  string  $attribute
228
     * @param  string  $rule
229
     * @param  array<int,string>  $parameters
230
     * @return string
231
     */
232
    protected function replaceNotIn($message, $attribute, $rule, $parameters)
233
    {
234
        return $this->replaceIn($message, $attribute, $rule, $parameters);
235
    }
236
 
237
    /**
238
     * Replace all place-holders for the in_array rule.
239
     *
240
     * @param  string  $message
241
     * @param  string  $attribute
242
     * @param  string  $rule
243
     * @param  array<int,string>  $parameters
244
     * @return string
245
     */
246
    protected function replaceInArray($message, $attribute, $rule, $parameters)
247
    {
248
        return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message);
249
    }
250
 
251
    /**
252
     * Replace all place-holders for the required_array_keys rule.
253
     *
254
     * @param  string  $message
255
     * @param  string  $attribute
256
     * @param  string  $rule
257
     * @param  array<int,string>  $parameters
258
     * @return string
259
     */
260
    protected function replaceRequiredArrayKeys($message, $attribute, $rule, $parameters)
261
    {
262
        foreach ($parameters as &$parameter) {
263
            $parameter = $this->getDisplayableValue($attribute, $parameter);
264
        }
265
 
266
        return str_replace(':values', implode(', ', $parameters), $message);
267
    }
268
 
269
    /**
270
     * Replace all place-holders for the mimetypes rule.
271
     *
272
     * @param  string  $message
273
     * @param  string  $attribute
274
     * @param  string  $rule
275
     * @param  array<int,string>  $parameters
276
     * @return string
277
     */
278
    protected function replaceMimetypes($message, $attribute, $rule, $parameters)
279
    {
280
        return str_replace(':values', implode(', ', $parameters), $message);
281
    }
282
 
283
    /**
284
     * Replace all place-holders for the mimes rule.
285
     *
286
     * @param  string  $message
287
     * @param  string  $attribute
288
     * @param  string  $rule
289
     * @param  array<int,string>  $parameters
290
     * @return string
291
     */
292
    protected function replaceMimes($message, $attribute, $rule, $parameters)
293
    {
294
        return str_replace(':values', implode(', ', $parameters), $message);
295
    }
296
 
297
    /**
298
     * Replace all place-holders for the required_with rule.
299
     *
300
     * @param  string  $message
301
     * @param  string  $attribute
302
     * @param  string  $rule
303
     * @param  array<int,string>  $parameters
304
     * @return string
305
     */
306
    protected function replaceRequiredWith($message, $attribute, $rule, $parameters)
307
    {
308
        return str_replace(':values', implode(' / ', $this->getAttributeList($parameters)), $message);
309
    }
310
 
311
    /**
312
     * Replace all place-holders for the required_with_all rule.
313
     *
314
     * @param  string  $message
315
     * @param  string  $attribute
316
     * @param  string  $rule
317
     * @param  array<int,string>  $parameters
318
     * @return string
319
     */
320
    protected function replaceRequiredWithAll($message, $attribute, $rule, $parameters)
321
    {
322
        return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
323
    }
324
 
325
    /**
326
     * Replace all place-holders for the required_without rule.
327
     *
328
     * @param  string  $message
329
     * @param  string  $attribute
330
     * @param  string  $rule
331
     * @param  array<int,string>  $parameters
332
     * @return string
333
     */
334
    protected function replaceRequiredWithout($message, $attribute, $rule, $parameters)
335
    {
336
        return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
337
    }
338
 
339
    /**
340
     * Replace all place-holders for the required_without_all rule.
341
     *
342
     * @param  string  $message
343
     * @param  string  $attribute
344
     * @param  string  $rule
345
     * @param  array<int,string>  $parameters
346
     * @return string
347
     */
348
    protected function replaceRequiredWithoutAll($message, $attribute, $rule, $parameters)
349
    {
350
        return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
351
    }
352
 
353
    /**
354
     * Replace all place-holders for the size rule.
355
     *
356
     * @param  string  $message
357
     * @param  string  $attribute
358
     * @param  string  $rule
359
     * @param  array<int,string>  $parameters
360
     * @return string
361
     */
362
    protected function replaceSize($message, $attribute, $rule, $parameters)
363
    {
364
        return str_replace(':size', $parameters[0], $message);
365
    }
366
 
367
    /**
368
     * Replace all place-holders for the gt rule.
369
     *
370
     * @param  string  $message
371
     * @param  string  $attribute
372
     * @param  string  $rule
373
     * @param  array<int,string>  $parameters
374
     * @return string
375
     */
376
    protected function replaceGt($message, $attribute, $rule, $parameters)
377
    {
378
        if (is_null($value = $this->getValue($parameters[0]))) {
379
            return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
380
        }
381
 
382
        return str_replace(':value', $this->getSize($attribute, $value), $message);
383
    }
384
 
385
    /**
386
     * Replace all place-holders for the lt rule.
387
     *
388
     * @param  string  $message
389
     * @param  string  $attribute
390
     * @param  string  $rule
391
     * @param  array<int,string>  $parameters
392
     * @return string
393
     */
394
    protected function replaceLt($message, $attribute, $rule, $parameters)
395
    {
396
        if (is_null($value = $this->getValue($parameters[0]))) {
397
            return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
398
        }
399
 
400
        return str_replace(':value', $this->getSize($attribute, $value), $message);
401
    }
402
 
403
    /**
404
     * Replace all place-holders for the gte rule.
405
     *
406
     * @param  string  $message
407
     * @param  string  $attribute
408
     * @param  string  $rule
409
     * @param  array<int,string>  $parameters
410
     * @return string
411
     */
412
    protected function replaceGte($message, $attribute, $rule, $parameters)
413
    {
414
        if (is_null($value = $this->getValue($parameters[0]))) {
415
            return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
416
        }
417
 
418
        return str_replace(':value', $this->getSize($attribute, $value), $message);
419
    }
420
 
421
    /**
422
     * Replace all place-holders for the lte rule.
423
     *
424
     * @param  string  $message
425
     * @param  string  $attribute
426
     * @param  string  $rule
427
     * @param  array<int,string>  $parameters
428
     * @return string
429
     */
430
    protected function replaceLte($message, $attribute, $rule, $parameters)
431
    {
432
        if (is_null($value = $this->getValue($parameters[0]))) {
433
            return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
434
        }
435
 
436
        return str_replace(':value', $this->getSize($attribute, $value), $message);
437
    }
438
 
439
    /**
440
     * Replace all place-holders for the required_if rule.
441
     *
442
     * @param  string  $message
443
     * @param  string  $attribute
444
     * @param  string  $rule
445
     * @param  array<int,string>  $parameters
446
     * @return string
447
     */
448
    protected function replaceRequiredIf($message, $attribute, $rule, $parameters)
449
    {
450
        $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0]));
451
 
452
        $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
453
 
454
        return str_replace([':other', ':value'], $parameters, $message);
455
    }
456
 
457
    /**
458
     * Replace all place-holders for the required_if_accepted rule.
459
     *
460
     * @param  string  $message
461
     * @param  string  $attribute
462
     * @param  string  $rule
463
     * @param  array<int,string>  $parameters
464
     * @return string
465
     */
466
    protected function replaceRequiredIfAccepted($message, $attribute, $rule, $parameters)
467
    {
468
        $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
469
 
470
        return str_replace([':other'], $parameters, $message);
471
    }
472
 
473
    /**
474
     * Replace all place-holders for the required_unless rule.
475
     *
476
     * @param  string  $message
477
     * @param  string  $attribute
478
     * @param  string  $rule
479
     * @param  array<int,string>  $parameters
480
     * @return string
481
     */
482
    protected function replaceRequiredUnless($message, $attribute, $rule, $parameters)
483
    {
484
        $other = $this->getDisplayableAttribute($parameters[0]);
485
 
486
        $values = [];
487
 
488
        foreach (array_slice($parameters, 1) as $value) {
489
            $values[] = $this->getDisplayableValue($parameters[0], $value);
490
        }
491
 
492
        return str_replace([':other', ':values'], [$other, implode(', ', $values)], $message);
493
    }
494
 
495
    /**
496
     * Replace all place-holders for the prohibited_if rule.
497
     *
498
     * @param  string  $message
499
     * @param  string  $attribute
500
     * @param  string  $rule
501
     * @param  array<int,string>  $parameters
502
     * @return string
503
     */
504
    protected function replaceProhibitedIf($message, $attribute, $rule, $parameters)
505
    {
506
        $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0]));
507
 
508
        $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
509
 
510
        return str_replace([':other', ':value'], $parameters, $message);
511
    }
512
 
513
    /**
514
     * Replace all place-holders for the prohibited_unless rule.
515
     *
516
     * @param  string  $message
517
     * @param  string  $attribute
518
     * @param  string  $rule
519
     * @param  array<int,string>  $parameters
520
     * @return string
521
     */
522
    protected function replaceProhibitedUnless($message, $attribute, $rule, $parameters)
523
    {
524
        $other = $this->getDisplayableAttribute($parameters[0]);
525
 
526
        $values = [];
527
 
528
        foreach (array_slice($parameters, 1) as $value) {
529
            $values[] = $this->getDisplayableValue($parameters[0], $value);
530
        }
531
 
532
        return str_replace([':other', ':values'], [$other, implode(', ', $values)], $message);
533
    }
534
 
535
    /**
536
     * Replace all place-holders for the prohibited_with rule.
537
     *
538
     * @param  string  $message
539
     * @param  string  $attribute
540
     * @param  string  $rule
541
     * @param  array<int,string>  $parameters
542
     * @return string
543
     */
544
    protected function replaceProhibits($message, $attribute, $rule, $parameters)
545
    {
546
        return str_replace(':other', implode(' / ', $this->getAttributeList($parameters)), $message);
547
    }
548
 
549
    /**
550
     * Replace all place-holders for the same rule.
551
     *
552
     * @param  string  $message
553
     * @param  string  $attribute
554
     * @param  string  $rule
555
     * @param  array<int,string>  $parameters
556
     * @return string
557
     */
558
    protected function replaceSame($message, $attribute, $rule, $parameters)
559
    {
560
        return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message);
561
    }
562
 
563
    /**
564
     * Replace all place-holders for the before rule.
565
     *
566
     * @param  string  $message
567
     * @param  string  $attribute
568
     * @param  string  $rule
569
     * @param  array<int,string>  $parameters
570
     * @return string
571
     */
572
    protected function replaceBefore($message, $attribute, $rule, $parameters)
573
    {
574
        if (! strtotime($parameters[0])) {
575
            return str_replace(':date', $this->getDisplayableAttribute($parameters[0]), $message);
576
        }
577
 
578
        return str_replace(':date', $this->getDisplayableValue($attribute, $parameters[0]), $message);
579
    }
580
 
581
    /**
582
     * Replace all place-holders for the before_or_equal rule.
583
     *
584
     * @param  string  $message
585
     * @param  string  $attribute
586
     * @param  string  $rule
587
     * @param  array<int,string>  $parameters
588
     * @return string
589
     */
590
    protected function replaceBeforeOrEqual($message, $attribute, $rule, $parameters)
591
    {
592
        return $this->replaceBefore($message, $attribute, $rule, $parameters);
593
    }
594
 
595
    /**
596
     * Replace all place-holders for the after rule.
597
     *
598
     * @param  string  $message
599
     * @param  string  $attribute
600
     * @param  string  $rule
601
     * @param  array<int,string>  $parameters
602
     * @return string
603
     */
604
    protected function replaceAfter($message, $attribute, $rule, $parameters)
605
    {
606
        return $this->replaceBefore($message, $attribute, $rule, $parameters);
607
    }
608
 
609
    /**
610
     * Replace all place-holders for the after_or_equal rule.
611
     *
612
     * @param  string  $message
613
     * @param  string  $attribute
614
     * @param  string  $rule
615
     * @param  array<int,string>  $parameters
616
     * @return string
617
     */
618
    protected function replaceAfterOrEqual($message, $attribute, $rule, $parameters)
619
    {
620
        return $this->replaceBefore($message, $attribute, $rule, $parameters);
621
    }
622
 
623
    /**
624
     * Replace all place-holders for the date_equals rule.
625
     *
626
     * @param  string  $message
627
     * @param  string  $attribute
628
     * @param  string  $rule
629
     * @param  array<int,string>  $parameters
630
     * @return string
631
     */
632
    protected function replaceDateEquals($message, $attribute, $rule, $parameters)
633
    {
634
        return $this->replaceBefore($message, $attribute, $rule, $parameters);
635
    }
636
 
637
    /**
638
     * Replace all place-holders for the dimensions rule.
639
     *
640
     * @param  string  $message
641
     * @param  string  $attribute
642
     * @param  string  $rule
643
     * @param  array<int,string>  $parameters
644
     * @return string
645
     */
646
    protected function replaceDimensions($message, $attribute, $rule, $parameters)
647
    {
648
        $parameters = $this->parseNamedParameters($parameters);
649
 
650
        if (is_array($parameters)) {
651
            foreach ($parameters as $key => $value) {
652
                $message = str_replace(':'.$key, $value, $message);
653
            }
654
        }
655
 
656
        return $message;
657
    }
658
 
659
    /**
660
     * Replace all place-holders for the ends_with rule.
661
     *
662
     * @param  string  $message
663
     * @param  string  $attribute
664
     * @param  string  $rule
665
     * @param  array<int,string>  $parameters
666
     * @return string
667
     */
668
    protected function replaceEndsWith($message, $attribute, $rule, $parameters)
669
    {
670
        foreach ($parameters as &$parameter) {
671
            $parameter = $this->getDisplayableValue($attribute, $parameter);
672
        }
673
 
674
        return str_replace(':values', implode(', ', $parameters), $message);
675
    }
676
 
677
    /**
678
     * Replace all place-holders for the doesnt_end_with rule.
679
     *
680
     * @param  string  $message
681
     * @param  string  $attribute
682
     * @param  string  $rule
683
     * @param  array<int,string>  $parameters
684
     * @return string
685
     */
686
    protected function replaceDoesntEndWith($message, $attribute, $rule, $parameters)
687
    {
688
        foreach ($parameters as &$parameter) {
689
            $parameter = $this->getDisplayableValue($attribute, $parameter);
690
        }
691
 
692
        return str_replace(':values', implode(', ', $parameters), $message);
693
    }
694
 
695
    /**
696
     * Replace all place-holders for the starts_with rule.
697
     *
698
     * @param  string  $message
699
     * @param  string  $attribute
700
     * @param  string  $rule
701
     * @param  array<int,string>  $parameters
702
     * @return string
703
     */
704
    protected function replaceStartsWith($message, $attribute, $rule, $parameters)
705
    {
706
        foreach ($parameters as &$parameter) {
707
            $parameter = $this->getDisplayableValue($attribute, $parameter);
708
        }
709
 
710
        return str_replace(':values', implode(', ', $parameters), $message);
711
    }
712
 
713
    /**
714
     * Replace all place-holders for the doesnt_start_with rule.
715
     *
716
     * @param  string  $message
717
     * @param  string  $attribute
718
     * @param  string  $rule
719
     * @param  array<int,string>  $parameters
720
     * @return string
721
     */
722
    protected function replaceDoesntStartWith($message, $attribute, $rule, $parameters)
723
    {
724
        foreach ($parameters as &$parameter) {
725
            $parameter = $this->getDisplayableValue($attribute, $parameter);
726
        }
727
 
728
        return str_replace(':values', implode(', ', $parameters), $message);
729
    }
730
}