Skip to content

Commit dde1c9b

Browse files
authored
feat: allow greater or equal validation (#279)
Signed-off-by: romanetar <roman_ag@hotmail.com>
1 parent f07e763 commit dde1c9b

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

app/Http/Controllers/Apis/Protected/Summit/Factories/EventTypeValidationRulesFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ public static function build(array $data, $update = false){
7575
'use_speakers' => 'sometimes|boolean',
7676
'are_speakers_mandatory' => 'sometimes|boolean|required_with:use_speakers',
7777
'min_speakers' => 'sometimes|integer|required_with:use_speakers',
78-
'max_speakers' => 'sometimes|integer|required_with:use_speakers|greater_than_field:min_speakers',
78+
'max_speakers' => 'sometimes|integer|required_with:use_speakers|greater_or_equal_than_field:min_speakers',
7979
'use_moderator' => 'sometimes|boolean',
8080
'is_moderator_mandatory' => 'sometimes|boolean|required_with:use_moderator',
8181
'min_moderators' => 'sometimes|integer|required_with:use_moderator',
82-
'max_moderators' => 'sometimes|integer|required_with:use_moderator|greater_than_field:min_moderators',
82+
'max_moderators' => 'sometimes|integer|required_with:use_moderator|greater_or_equal_than_field:min_moderators',
8383
'should_be_available_on_cfp' => 'sometimes|boolean',
8484
'moderator_label' => 'sometimes|string',
8585
'allow_custom_ordering' => 'sometimes|boolean',

app/Providers/AppServiceProvider.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ public function boot()
523523

524524
Validator::extend('greater_than_field', function ($attribute, $value, $parameters, $validator) {
525525
$validator->addReplacer('greater_than_field', function ($message, $attribute, $rule, $parameters) use ($validator) {
526-
return sprintf("%s should be greather than %s", $attribute, $parameters[0]);
526+
return sprintf("%s should be greater than %s", $attribute, $parameters[0]);
527527
});
528528
$data = $validator->getData();
529529
if (is_null($value) || intval($value) == 0) return true;
@@ -534,6 +534,19 @@ public function boot()
534534
return true;
535535
});
536536

537+
Validator::extend('greater_or_equal_than_field', function ($attribute, $value, $parameters, $validator) {
538+
$validator->addReplacer('greater_or_equal_than_field', function ($message, $attribute, $rule, $parameters) use ($validator) {
539+
return sprintf("%s should be greater or equal than %s", $attribute, $parameters[0]);
540+
});
541+
$data = $validator->getData();
542+
if (is_null($value) || intval($value) == 0) return true;
543+
if (isset($data[$parameters[0]])) {
544+
$compare_to = $data[$parameters[0]];
545+
return intval($compare_to) <= intval($value);
546+
}
547+
return true;
548+
});
549+
537550
Validator::extend('valid_epoch', function ($attribute, $value, $parameters, $validator) {
538551
$validator->addReplacer('valid_epoch', function ($message, $attribute, $rule, $parameters) use ($validator) {
539552
return sprintf("%s should be a valid epoch value", $attribute);

0 commit comments

Comments
 (0)