fryiee / pyro-repeater-validators by fryiee

Additional repeaters for PyroCMS 3 Repeater Field Type.
31
1
3
Package Data
Maintainer Username: fryiee
Package Create Date: 2017-03-08
Package Last Update: 2017-04-24
Home Page: https://packagist.org/packages/fryiee/pyro-repeater-validators
Language: PHP
License: MIT
Last Refreshed: 2024-04-22 03:04:54
Package Statistics
Total Downloads: 31
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

pyro-repeater-validators

Additional repeaters for PyroCMS 3 Repeater Field Type.

Usage

Require using composer: composer require fryiee/pyro-repeater-validators

Add use statement in your own FormBuilder:

use Fryiee\RepeaterValidators\ValidateFieldValueMinimumAmount;
use Fryiee\RepeaterValidators\ValidateFieldValueMaximumAmount;
use Fryiee\RepeaterValidators\ValidateFieldValueAmount;
use Fryiee\RepeaterValidators\ValidateFieldWithLaravelRules;

Add 'rules' and 'validators' array with handler to the fields in your FormBuilder: e.g.

'phones' => [
  'validators' => [
    'validate_max_number_of_field' => [
      'handler' => ValidateFieldValueMaximumAmount::class,
      'message' => false,
    ],
  ],
  'rules' => [
    'validate_max_number_of_field:main,true,1'  
  ],
],
'phones' => [
  'validators' => [
    'validate_min_number_of_field' => [
      'handler' => ValidateFieldValueMinimumAmount::class,
      'message' => false,
    ],
  ],
  'rules' => [
    'validate_min_number_of_field:main,true,1'  
  ],
],
'phones' => [
  'validators' => [
    'validate_number_of_field' => [
      'handler' => ValidateFieldValueAmount::class,
      'message' => false,
    ],
  ],
  'rules' => [
    'validate_number_of_field:main,true,1'  
  ],
],
'logs' => [
  'validators' => [
    'validate_with_laravel_rules' => [
      'handler' => ValidateFieldWithLaravelRules::class,
      'message' => false,
    ],
  ],
  'rules' => [
    'validate_with_laravel_rules:ip_address,ip,`,string'
  ],
]

Arguments

ValidateFieldValueAmount

{field},{value},{amount}

e.g phone_number,12345678,3 would mean that exactly 3 of the phone_number fields in the repeater form would have to be equal to 12345678.

ValidateFieldValueMaximumAmount

{field},{value},{amount}

e.g phone_number,12345678,3 would mean that at most 3 of the phone_number fields in the repeater form would have to be equal to 12345678.

ValidateFieldValueMinimumAmount

{field},{value},{amount}

e.g phone_number,12345678,3 would mean that at least 3 of the phone_number fields in the repeater form would have to be equal to 12345678.

ValidateFieldWithLaravelRules

{field},{laravel_rule1},`,{laravel_rule2},`,{laravel_rule3}

e.g phone_number,string,`,numeric,`,in:1,2,3,4,5,6 would mean that phone_number would need to be string, numeric and be within the given array of values.

License

This package is open-sourced software licensed under the MIT license.