for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/patron/license
* @link https://www.flipboxfactory.com/software/patron/
*/
namespace flipbox\patron\validators;
use Craft;
use League\OAuth2\Client\Provider\AbstractProvider;
use yii\validators\Validator;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
class ProviderValidator extends Validator
{
* @inheritdoc
public function validateAttribute($model, $attribute)
$class = $model->$attribute;
// Handles are always required, so if it's blank, the required validator will catch this.
if ($class) {
if (!$class instanceof AbstractProvider &&
!is_subclass_of($class, AbstractProvider::class)
) {
$message = Craft::t(
'patron',
'“{class}” is a not a valid provider.',
['class' => $class]
);
$this->addError($model, $attribute, $message);
}