Various API updates.

This commit is contained in:
James Cole
2018-12-03 07:18:05 +01:00
parent 0256337855
commit 050334a648
10 changed files with 212 additions and 39 deletions

56
app/Rules/IsBoolean.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
namespace FireflyIII\Rules;
use Illuminate\Contracts\Validation\Rule;
/**
* Class IsBoolean
*/
class IsBoolean implements Rule
{
/**
* Get the validation error message.
*
* @return string
*/
public function message(): string
{
return (string)trans('validation.boolean');
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
*
* @return bool
*/
public function passes($attribute, $value): bool
{
if (\is_bool($value)) {
return true;
}
if (\is_int($value) && 0 === $value) {
return true;
}
if (\is_int($value) && 1 === $value) {
return true;
}
if (\is_string($value) && '1' === $value) {
return true;
}
if (\is_string($value) && '0' === $value) {
return true;
}
if (\is_string($value) && 'true' === $value) {
return true;
}
if (\is_string($value) && 'false' === $value) {
return true;
}
return false;
}
}