| Total Lines | 558 | 
| Code Lines | 404 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 14 | ||
| Bugs | 1 | Features | 0 | 
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php | ||
| 512 | public function skipOnEmptyDataProvider(): array | ||
| 513 |     { | ||
| 514 | $validator = new Validator(); | ||
| 515 | $rules = [ | ||
| 516 | 'name' => [new HasLength(min: 8)], | ||
| 517 | 'age' => [new Number(integerOnly: true, min: 18)], | ||
| 518 | ]; | ||
| 519 | $stringLessThanMinMessage = 'This value must contain at least 8 characters.'; | ||
| 520 | $incorrectNumberMessage = 'The allowed types are integer, float and string.'; | ||
| 521 | $intMessage = 'Value must be an integer.'; | ||
| 522 | $intLessThanMinMessage = 'Value must be no less than 18.'; | ||
| 523 | |||
| 524 | return [ | ||
| 525 | 'rule / validator, skipOnEmpty: false, value not passed' => [ | ||
| 526 | $validator, | ||
| 527 | new ArrayDataSet([ | ||
| 528 | 'name' => 'Dmitriy', | ||
| 529 | ]), | ||
| 530 | $rules, | ||
| 531 | [ | ||
| 532 | new Error($stringLessThanMinMessage, [ | ||
| 533 | 'min' => 8, | ||
| 534 | 'attribute' => 'name', | ||
| 535 | 'number' => 7, | ||
| 536 | ], ['name']), | ||
| 537 | new Error($incorrectNumberMessage, [ | ||
| 538 | 'attribute' => 'age', | ||
| 539 | 'type' => 'null', | ||
| 540 | ], ['age']), | ||
| 541 | ], | ||
| 542 | ], | ||
| 543 | 'rule / validator, skipOnEmpty: false, value is empty' => [ | ||
| 544 | $validator, | ||
| 545 | new ArrayDataSet([ | ||
| 546 | 'name' => 'Dmitriy', | ||
| 547 | 'age' => null, | ||
| 548 | ]), | ||
| 549 | $rules, | ||
| 550 | [ | ||
| 551 | new Error($stringLessThanMinMessage, [ | ||
| 552 | 'min' => 8, | ||
| 553 | 'attribute' => 'name', | ||
| 554 | 'number' => 7, | ||
| 555 | ], ['name']), | ||
| 556 | new Error($incorrectNumberMessage, [ | ||
| 557 | 'attribute' => 'age', | ||
| 558 | 'type' => 'null', | ||
| 559 | ], ['age']), | ||
| 560 | ], | ||
| 561 | ], | ||
| 562 | 'rule / validator, skipOnEmpty: false, value is not empty' => [ | ||
| 563 | $validator, | ||
| 564 | new ArrayDataSet([ | ||
| 565 | 'name' => 'Dmitriy', | ||
| 566 | 'age' => 17, | ||
| 567 | ]), | ||
| 568 | $rules, | ||
| 569 | [ | ||
| 570 | new Error($stringLessThanMinMessage, [ | ||
| 571 | 'min' => 8, | ||
| 572 | 'attribute' => 'name', | ||
| 573 | 'number' => 7, | ||
| 574 | ], ['name']), | ||
| 575 | new Error($intLessThanMinMessage, [ | ||
| 576 | 'min' => 18, | ||
| 577 | 'attribute' => 'age', | ||
| 578 | 'value' => 17, | ||
| 579 | ], ['age']), | ||
| 580 | ], | ||
| 581 | ], | ||
| 582 | |||
| 583 | 'rule, skipOnEmpty: true, value not passed' => [ | ||
| 584 | $validator, | ||
| 585 | new ArrayDataSet([ | ||
| 586 | 'name' => 'Dmitriy', | ||
| 587 | ]), | ||
| 588 | [ | ||
| 589 | 'name' => [new HasLength(min: 8)], | ||
| 590 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: true)], | ||
| 591 | ], | ||
| 592 | [ | ||
| 593 | new Error($stringLessThanMinMessage, [ | ||
| 594 | 'min' => 8, | ||
| 595 | 'attribute' => 'name', | ||
| 596 | 'number' => 7, | ||
| 597 | ], ['name']), | ||
| 598 | ], | ||
| 599 | ], | ||
| 600 | 'rule, skipOnEmpty: true, value is empty (null)' => [ | ||
| 601 | $validator, | ||
| 602 | new ArrayDataSet([ | ||
| 603 | 'name' => 'Dmitriy', | ||
| 604 | 'age' => null, | ||
| 605 | ]), | ||
| 606 | [ | ||
| 607 | 'name' => [new HasLength(min: 8)], | ||
| 608 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: true)], | ||
| 609 | ], | ||
| 610 | [ | ||
| 611 | new Error($stringLessThanMinMessage, [ | ||
| 612 | 'min' => 8, | ||
| 613 | 'attribute' => 'name', | ||
| 614 | 'number' => 7, | ||
| 615 | ], ['name']), | ||
| 616 | ], | ||
| 617 | ], | ||
| 618 | 'rule, skipOnEmpty: true, value is empty (empty string after trimming), trimString is false' => [ | ||
| 619 | $validator, | ||
| 620 | new ArrayDataSet([ | ||
| 621 | 'name' => ' ', | ||
| 622 | 'age' => 17, | ||
| 623 | ]), | ||
| 624 | [ | ||
| 625 | 'name' => [new HasLength(min: 8, skipOnEmpty: true)], | ||
| 626 | 'age' => [new Number(integerOnly: true, min: 18)], | ||
| 627 | ], | ||
| 628 | [ | ||
| 629 | new Error($stringLessThanMinMessage, [ | ||
| 630 | 'min' => 8, | ||
| 631 | 'attribute' => 'name', | ||
| 632 | 'number' => 1, | ||
| 633 | ], ['name']), | ||
| 634 | new Error($intLessThanMinMessage, [ | ||
| 635 | 'min' => 18, | ||
| 636 | 'attribute' => 'age', | ||
| 637 | 'value' => 17, | ||
| 638 | ], ['age']), | ||
| 639 | ], | ||
| 640 | ], | ||
| 641 | 'rule, skipOnEmpty: SkipOnEmpty, value is empty (empty string after trimming), trimString is true' => [ | ||
| 642 | $validator, | ||
| 643 | new ArrayDataSet([ | ||
| 644 | 'name' => ' ', | ||
| 645 | 'age' => 17, | ||
| 646 | ]), | ||
| 647 | [ | ||
| 648 | 'name' => [new HasLength(min: 8, skipOnEmpty: new WhenEmpty(trimString: true))], | ||
| 649 | 'age' => [new Number(integerOnly: true, min: 18)], | ||
| 650 | ], | ||
| 651 | [ | ||
| 652 | new Error($intLessThanMinMessage, [ | ||
| 653 | 'min' => 18, | ||
| 654 | 'attribute' => 'age', | ||
| 655 | 'value' => 17, | ||
| 656 | ], ['age']), | ||
| 657 | ], | ||
| 658 | ], | ||
| 659 | 'rule, skipOnEmpty: true, value is not empty' => [ | ||
| 660 | $validator, | ||
| 661 | new ArrayDataSet([ | ||
| 662 | 'name' => 'Dmitriy', | ||
| 663 | 'age' => 17, | ||
| 664 | ]), | ||
| 665 | [ | ||
| 666 | 'name' => [new HasLength(min: 8)], | ||
| 667 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: true)], | ||
| 668 | ], | ||
| 669 | [ | ||
| 670 | new Error($stringLessThanMinMessage, [ | ||
| 671 | 'min' => 8, | ||
| 672 | 'attribute' => 'name', | ||
| 673 | 'number' => 7, | ||
| 674 | ], ['name']), | ||
| 675 | new Error($intLessThanMinMessage, [ | ||
| 676 | 'min' => 18, | ||
| 677 | 'attribute' => 'age', | ||
| 678 | 'value' => 17, | ||
| 679 | ], ['age']), | ||
| 680 | ], | ||
| 681 | ], | ||
| 682 | |||
| 683 | 'rule, skipOnEmpty: SkipOnNull, value not passed' => [ | ||
| 684 | $validator, | ||
| 685 | new ArrayDataSet([ | ||
| 686 | 'name' => 'Dmitriy', | ||
| 687 | ]), | ||
| 688 | [ | ||
| 689 | 'name' => [new HasLength(min: 8)], | ||
| 690 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: new WhenNull())], | ||
| 691 | ], | ||
| 692 | [ | ||
| 693 | new Error($stringLessThanMinMessage, [ | ||
| 694 | 'min' => 8, | ||
| 695 | 'attribute' => 'name', | ||
| 696 | 'number' => 7, | ||
| 697 | ], ['name']), | ||
| 698 | ], | ||
| 699 | ], | ||
| 700 | 'rule, skipOnEmpty: SkipOnNull, value is empty' => [ | ||
| 701 | $validator, | ||
| 702 | new ArrayDataSet([ | ||
| 703 | 'name' => 'Dmitriy', | ||
| 704 | 'age' => null, | ||
| 705 | ]), | ||
| 706 | [ | ||
| 707 | 'name' => [new HasLength(min: 8)], | ||
| 708 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: new WhenNull())], | ||
| 709 | ], | ||
| 710 | [ | ||
| 711 | new Error($stringLessThanMinMessage, [ | ||
| 712 | 'min' => 8, | ||
| 713 | 'attribute' => 'name', | ||
| 714 | 'number' => 7, | ||
| 715 | ], ['name']), | ||
| 716 | ], | ||
| 717 | ], | ||
| 718 | 'rule, skipOnEmpty: SkipOnNull, value is not empty' => [ | ||
| 719 | $validator, | ||
| 720 | new ArrayDataSet([ | ||
| 721 | 'name' => 'Dmitriy', | ||
| 722 | 'age' => 17, | ||
| 723 | ]), | ||
| 724 | [ | ||
| 725 | 'name' => [new HasLength(min: 8)], | ||
| 726 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: new WhenNull())], | ||
| 727 | ], | ||
| 728 | [ | ||
| 729 | new Error($stringLessThanMinMessage, [ | ||
| 730 | 'min' => 8, | ||
| 731 | 'attribute' => 'name', | ||
| 732 | 'number' => 7, | ||
| 733 | ], ['name']), | ||
| 734 | new Error($intLessThanMinMessage, [ | ||
| 735 | 'min' => 18, | ||
| 736 | 'attribute' => 'age', | ||
| 737 | 'value' => 17, | ||
| 738 | ], ['age']), | ||
| 739 | ], | ||
| 740 | ], | ||
| 741 | 'rule, skipOnEmpty: SkipOnNull, value is not empty (empty string)' => [ | ||
| 742 | $validator, | ||
| 743 | new ArrayDataSet([ | ||
| 744 | 'name' => 'Dmitriy', | ||
| 745 | 'age' => '', | ||
| 746 | ]), | ||
| 747 | [ | ||
| 748 | 'name' => [new HasLength(min: 8)], | ||
| 749 | 'age' => [new Number(integerOnly: true, min: 18, skipOnEmpty: new WhenNull())], | ||
| 750 | ], | ||
| 751 | [ | ||
| 752 | new Error($stringLessThanMinMessage, [ | ||
| 753 | 'min' => 8, | ||
| 754 | 'attribute' => 'name', | ||
| 755 | 'number' => 7, | ||
| 756 | ], ['name']), | ||
| 757 | new Error($intMessage, [ | ||
| 758 | 'attribute' => 'age', | ||
| 759 | 'value' => '', | ||
| 760 | ], ['age']), | ||
| 761 | ], | ||
| 762 | ], | ||
| 763 | |||
| 764 | 'rule, skipOnEmpty: custom callback, value not passed' => [ | ||
| 765 | $validator, | ||
| 766 | new ArrayDataSet([ | ||
| 767 | 'name' => 'Dmitriy', | ||
| 768 | ]), | ||
| 769 | [ | ||
| 770 | 'name' => [new HasLength(min: 8)], | ||
| 771 | 'age' => [ | ||
| 772 | new Number( | ||
| 773 | integerOnly: true, | ||
| 774 | min: 18, | ||
| 775 | skipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 776 | ), | ||
| 777 | ], | ||
| 778 | ], | ||
| 779 | [ | ||
| 780 | new Error($stringLessThanMinMessage, [ | ||
| 781 | 'min' => 8, | ||
| 782 | 'attribute' => 'name', | ||
| 783 | 'number' => 7, | ||
| 784 | ], ['name']), | ||
| 785 | new Error($incorrectNumberMessage, [ | ||
| 786 | 'attribute' => 'age', | ||
| 787 | 'type' => 'null', | ||
| 788 | ], ['age']), | ||
| 789 | ], | ||
| 790 | ], | ||
| 791 | 'rule, skipOnEmpty: custom callback, value is empty' => [ | ||
| 792 | $validator, | ||
| 793 | new ArrayDataSet([ | ||
| 794 | 'name' => 'Dmitriy', | ||
| 795 | 'age' => 0, | ||
| 796 | ]), | ||
| 797 | [ | ||
| 798 | 'name' => [new HasLength(min: 8)], | ||
| 799 | 'age' => [ | ||
| 800 | new Number( | ||
| 801 | integerOnly: true, | ||
| 802 | min: 18, | ||
| 803 | skipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 804 | ), | ||
| 805 | ], | ||
| 806 | ], | ||
| 807 | [ | ||
| 808 | new Error($stringLessThanMinMessage, [ | ||
| 809 | 'min' => 8, | ||
| 810 | 'attribute' => 'name', | ||
| 811 | 'number' => 7, | ||
| 812 | ], ['name']), | ||
| 813 | ], | ||
| 814 | ], | ||
| 815 | 'rule, skipOnEmpty, custom callback, value is not empty' => [ | ||
| 816 | $validator, | ||
| 817 | new ArrayDataSet([ | ||
| 818 | 'name' => 'Dmitriy', | ||
| 819 | 'age' => 17, | ||
| 820 | ]), | ||
| 821 | [ | ||
| 822 | 'name' => [new HasLength(min: 8)], | ||
| 823 | 'age' => [ | ||
| 824 | new Number( | ||
| 825 | integerOnly: true, | ||
| 826 | min: 18, | ||
| 827 | skipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 828 | ), | ||
| 829 | ], | ||
| 830 | ], | ||
| 831 | [ | ||
| 832 | new Error($stringLessThanMinMessage, [ | ||
| 833 | 'min' => 8, | ||
| 834 | 'attribute' => 'name', | ||
| 835 | 'number' => 7, | ||
| 836 | ], ['name']), | ||
| 837 | new Error($intLessThanMinMessage, [ | ||
| 838 | 'min' => 18, | ||
| 839 | 'attribute' => 'age', | ||
| 840 | 'value' => 17, | ||
| 841 | ], ['age']), | ||
| 842 | ], | ||
| 843 | ], | ||
| 844 | 'rule, skipOnEmpty, custom callback, value is not empty (null)' => [ | ||
| 845 | $validator, | ||
| 846 | new ArrayDataSet([ | ||
| 847 | 'name' => 'Dmitriy', | ||
| 848 | 'age' => null, | ||
| 849 | ]), | ||
| 850 | [ | ||
| 851 | 'name' => [new HasLength(min: 8)], | ||
| 852 | 'age' => [ | ||
| 853 | new Number( | ||
| 854 | integerOnly: true, | ||
| 855 | min: 18, | ||
| 856 | skipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 857 | ), | ||
| 858 | ], | ||
| 859 | ], | ||
| 860 | [ | ||
| 861 | new Error($stringLessThanMinMessage, [ | ||
| 862 | 'min' => 8, | ||
| 863 | 'attribute' => 'name', | ||
| 864 | 'number' => 7, | ||
| 865 | ], ['name']), | ||
| 866 | new Error($incorrectNumberMessage, [ | ||
| 867 | 'attribute' => 'age', | ||
| 868 | 'type' => 'null', | ||
| 869 | ], ['age']), | ||
| 870 | ], | ||
| 871 | ], | ||
| 872 | |||
| 873 | 'validator, skipOnEmpty: true, value not passed' => [ | ||
| 874 | new Validator(defaultSkipOnEmpty: true), | ||
| 875 | new ArrayDataSet([ | ||
| 876 | 'name' => 'Dmitriy', | ||
| 877 | ]), | ||
| 878 | $rules, | ||
| 879 | [ | ||
| 880 | new Error($stringLessThanMinMessage, [ | ||
| 881 | 'min' => 8, | ||
| 882 | 'attribute' => 'name', | ||
| 883 | 'number' => 7, | ||
| 884 | ], ['name']), | ||
| 885 | ], | ||
| 886 | ], | ||
| 887 | 'validator, skipOnEmpty: true, value is empty' => [ | ||
| 888 | new Validator(defaultSkipOnEmpty: true), | ||
| 889 | new ArrayDataSet([ | ||
| 890 | 'name' => 'Dmitriy', | ||
| 891 | 'age' => null, | ||
| 892 | ]), | ||
| 893 | $rules, | ||
| 894 | [ | ||
| 895 | new Error($stringLessThanMinMessage, [ | ||
| 896 | 'min' => 8, | ||
| 897 | 'attribute' => 'name', | ||
| 898 | 'number' => 7, | ||
| 899 | ], ['name']), | ||
| 900 | ], | ||
| 901 | ], | ||
| 902 | 'validator, skipOnEmpty: true, value is not empty' => [ | ||
| 903 | new Validator(defaultSkipOnEmpty: true), | ||
| 904 | new ArrayDataSet([ | ||
| 905 | 'name' => 'Dmitriy', | ||
| 906 | 'age' => 17, | ||
| 907 | ]), | ||
| 908 | $rules, | ||
| 909 | [ | ||
| 910 | new Error($stringLessThanMinMessage, [ | ||
| 911 | 'min' => 8, | ||
| 912 | 'attribute' => 'name', | ||
| 913 | 'number' => 7, | ||
| 914 | ], ['name']), | ||
| 915 | new Error($intLessThanMinMessage, [ | ||
| 916 | 'min' => 18, | ||
| 917 | 'attribute' => 'age', | ||
| 918 | 'value' => 17, | ||
| 919 | ], ['age']), | ||
| 920 | ], | ||
| 921 | ], | ||
| 922 | |||
| 923 | 'validator, skipOnEmpty: SkipOnNull, value not passed' => [ | ||
| 924 | new Validator(defaultSkipOnEmpty: new WhenNull()), | ||
| 925 | new ArrayDataSet([ | ||
| 926 | 'name' => 'Dmitriy', | ||
| 927 | ]), | ||
| 928 | $rules, | ||
| 929 | [ | ||
| 930 | new Error($stringLessThanMinMessage, [ | ||
| 931 | 'min' => 8, | ||
| 932 | 'attribute' => 'name', | ||
| 933 | 'number' => 7, | ||
| 934 | ], ['name']), | ||
| 935 | ], | ||
| 936 | ], | ||
| 937 | 'validator, skipOnEmpty: SkipOnNull, value is empty' => [ | ||
| 938 | new Validator(defaultSkipOnEmpty: new WhenNull()), | ||
| 939 | new ArrayDataSet([ | ||
| 940 | 'name' => 'Dmitriy', | ||
| 941 | 'age' => null, | ||
| 942 | ]), | ||
| 943 | $rules, | ||
| 944 | [ | ||
| 945 | new Error($stringLessThanMinMessage, [ | ||
| 946 | 'min' => 8, | ||
| 947 | 'attribute' => 'name', | ||
| 948 | 'number' => 7, | ||
| 949 | ], ['name']), | ||
| 950 | ], | ||
| 951 | ], | ||
| 952 | 'validator, skipOnEmpty: SkipOnNull, value is not empty' => [ | ||
| 953 | new Validator(defaultSkipOnEmpty: new WhenNull()), | ||
| 954 | new ArrayDataSet([ | ||
| 955 | 'name' => 'Dmitriy', | ||
| 956 | 'age' => 17, | ||
| 957 | ]), | ||
| 958 | $rules, | ||
| 959 | [ | ||
| 960 | new Error($stringLessThanMinMessage, [ | ||
| 961 | 'min' => 8, | ||
| 962 | 'attribute' => 'name', | ||
| 963 | 'number' => 7, | ||
| 964 | ], ['name']), | ||
| 965 | new Error($intLessThanMinMessage, [ | ||
| 966 | 'min' => 18, | ||
| 967 | 'attribute' => 'age', | ||
| 968 | 'value' => 17, | ||
| 969 | ], ['age']), | ||
| 970 | ], | ||
| 971 | ], | ||
| 972 | 'validator, skipOnEmpty: SkipOnNull, value is not empty (empty string)' => [ | ||
| 973 | new Validator(defaultSkipOnEmpty: new WhenNull()), | ||
| 974 | new ArrayDataSet([ | ||
| 975 | 'name' => 'Dmitriy', | ||
| 976 | 'age' => '', | ||
| 977 | ]), | ||
| 978 | $rules, | ||
| 979 | [ | ||
| 980 | new Error($stringLessThanMinMessage, [ | ||
| 981 | 'min' => 8, | ||
| 982 | 'attribute' => 'name', | ||
| 983 | 'number' => 7, | ||
| 984 | ], ['name']), | ||
| 985 | new Error($intMessage, [ | ||
| 986 | 'attribute' => 'age', | ||
| 987 | 'value' => '', | ||
| 988 | ], ['age']), | ||
| 989 | ], | ||
| 990 | ], | ||
| 991 | |||
| 992 | 'validator, skipOnEmpty: custom callback, value not passed' => [ | ||
| 993 | new Validator( | ||
| 994 | defaultSkipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 995 | ), | ||
| 996 | new ArrayDataSet([ | ||
| 997 | 'name' => 'Dmitriy', | ||
| 998 | ]), | ||
| 999 | $rules, | ||
| 1000 | [ | ||
| 1001 | new Error($stringLessThanMinMessage, [ | ||
| 1002 | 'min' => 8, | ||
| 1003 | 'attribute' => 'name', | ||
| 1004 | 'number' => 7, | ||
| 1005 | ], ['name']), | ||
| 1006 | new Error($incorrectNumberMessage, [ | ||
| 1007 | 'attribute' => 'age', | ||
| 1008 | 'type' => 'null', | ||
| 1009 | ], ['age']), | ||
| 1010 | ], | ||
| 1011 | ], | ||
| 1012 | 'validator, skipOnEmpty: custom callback, value is empty' => [ | ||
| 1013 | new Validator( | ||
| 1014 | defaultSkipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 1015 | ), | ||
| 1016 | new ArrayDataSet([ | ||
| 1017 | 'name' => 'Dmitriy', | ||
| 1018 | 'age' => 0, | ||
| 1019 | ]), | ||
| 1020 | $rules, | ||
| 1021 | [ | ||
| 1022 | new Error($stringLessThanMinMessage, [ | ||
| 1023 | 'min' => 8, | ||
| 1024 | 'attribute' => 'name', | ||
| 1025 | 'number' => 7, | ||
| 1026 | ], ['name']), | ||
| 1027 | ], | ||
| 1028 | ], | ||
| 1029 | 'validator, skipOnEmpty: custom callback, value is not empty' => [ | ||
| 1030 | new Validator( | ||
| 1031 | defaultSkipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 1032 | ), | ||
| 1033 | new ArrayDataSet([ | ||
| 1034 | 'name' => 'Dmitriy', | ||
| 1035 | 'age' => 17, | ||
| 1036 | ]), | ||
| 1037 | $rules, | ||
| 1038 | [ | ||
| 1039 | new Error($stringLessThanMinMessage, [ | ||
| 1040 | 'min' => 8, | ||
| 1041 | 'attribute' => 'name', | ||
| 1042 | 'number' => 7, | ||
| 1043 | ], ['name']), | ||
| 1044 | new Error($intLessThanMinMessage, [ | ||
| 1045 | 'min' => 18, | ||
| 1046 | 'attribute' => 'age', | ||
| 1047 | 'value' => 17, | ||
| 1048 | ], ['age']), | ||
| 1049 | ], | ||
| 1050 | ], | ||
| 1051 | 'validator, skipOnEmpty: custom callback, value is not empty (null)' => [ | ||
| 1052 | new Validator( | ||
| 1053 | defaultSkipOnEmpty: static fn (mixed $value, bool $isAttributeMissing): bool => $value === 0 | ||
| 1054 | ), | ||
| 1055 | new ArrayDataSet([ | ||
| 1056 | 'name' => 'Dmitriy', | ||
| 1057 | 'age' => null, | ||
| 1058 | ]), | ||
| 1059 | $rules, | ||
| 1060 | [ | ||
| 1061 | new Error($stringLessThanMinMessage, [ | ||
| 1062 | 'min' => 8, | ||
| 1063 | 'attribute' => 'name', | ||
| 1064 | 'number' => 7, | ||
| 1065 | ], ['name']), | ||
| 1066 | new Error($incorrectNumberMessage, [ | ||
| 1067 | 'attribute' => 'age', | ||
| 1068 | 'type' => 'null', | ||
| 1069 | ], ['age']), | ||
| 1070 | ], | ||
| 1395 | 
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.