28 lines
626 B
PHP
28 lines
626 B
PHP
<?php
|
|
|
|
namespace WP_Ultimo\Dependencies\Rakit\Validation\Rules;
|
|
|
|
use WP_Ultimo\Dependencies\Rakit\Validation\Rule;
|
|
class Json extends Rule
|
|
{
|
|
/** @var string */
|
|
protected $message = "The :attribute must be a valid JSON string";
|
|
/**
|
|
* Check the $value is valid
|
|
*
|
|
* @param mixed $value
|
|
* @return bool
|
|
*/
|
|
public function check($value) : bool
|
|
{
|
|
if (!\is_string($value) || empty($value)) {
|
|
return \false;
|
|
}
|
|
\json_decode($value);
|
|
if (\json_last_error() !== \JSON_ERROR_NONE) {
|
|
return \false;
|
|
}
|
|
return \true;
|
|
}
|
|
}
|