mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 22:46:16 +00:00
Refactor validation rules to implement the new ValidationRule interface (#249)
This commit is contained in:
committed by
GitHub
parent
11e3b167cc
commit
3d67153912
@ -2,35 +2,21 @@
|
||||
|
||||
namespace App\ValidationRules;
|
||||
|
||||
use Illuminate\Contracts\Validation\Rule;
|
||||
use Closure;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use phpseclib3\Crypt\PublicKeyLoader;
|
||||
use phpseclib3\Exception\NoKeyLoadedException;
|
||||
|
||||
class SshKeyRule implements Rule
|
||||
class SshKeyRule implements ValidationRule
|
||||
{
|
||||
/**
|
||||
* Determine if the validation rule passes.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
public function passes($attribute, $value)
|
||||
public function validate(string $attribute, mixed $value, Closure $fail): void
|
||||
{
|
||||
try {
|
||||
PublicKeyLoader::load($value);
|
||||
|
||||
return true;
|
||||
} catch (NoKeyLoadedException $e) {
|
||||
return false;
|
||||
return;
|
||||
} catch (NoKeyLoadedException) {
|
||||
$fail('Invalid key')->translate();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array|\Illuminate\Contracts\Translation\Translator|string|null
|
||||
*/
|
||||
public function message()
|
||||
{
|
||||
return __('Invalid key');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user