MailgunのAPI:私はこれの手順に従っててるLaravelカスタム検証 - 私はLaravelの新機能「カスタム検証ルール」のいずれかを実装しようとしていると私は、次のようなエラーに実行しているよ
Object of class Illuminate\Validation\Validator could not be converted to string
ビデオ: New in Laravel 5.5: Project: Custom validation rule classes (10/14)
これはMailgun APIの電子メール検証ツールです。要求
シンプルなフォルム:姓、名、会社名、電子メールやメッセージ
をここでは私のコードは次のとおりです。
Route::post('contact', '[email protected]');
web.php
StaticPageController.php
use Validator;
use App\Http\Validation\ValidEmail as ValidEmail;
public function postContact(Request $request) {
return Validator::make($request->all(), [
'firstname' => 'required|max:90',
'lastname' => 'required|max:120',
'company' => 'max:120',
'email' => [
'required', 'string', 'max:255',
new ValidEmail(new \GuzzleHttp\Client)
],
'message' => 'required',
]);
}
ValidEmail.php私はこのような何かを見て期待してい
<?php
namespace App\Http\Validation;
use Illuminate\Contracts\Validation\Rule;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client as Guzzle;
class ValidEmail implements Rule
{
protected $client;
protected $message = 'Sorry, invalid email address.';
public function __construct(Guzzle $client)
{
$this->client = $client;
}
public function passes($attribute, $value)
{
$response = $this->getMailgunResponse($value);
}
public function message()
{
return $this->message;
}
protected function getMailgunResponse($address)
{
$request = $this->client->request('GET', 'https://api.mailgun.net/v3/address/validate', [
'query' => [
'api_key' => env('MAILGUN_KEY'),
'address' => $address
]
]);
dd(json_decode($request->getBody()));
}
}
期待:すべてのヘルプははるかに高く評価されて
{
+"address": "[email protected]"
+"did_you_mean": null
+"is_disposable_address": false
+"is_role_address": false
+"is_valid": false
+"parts": {
...
}
}
。私はこの単純な例を2時間以上働かせようとしてきました。私の経験を持つ人が助けてくれることを願っています!お使いのコントローラで
を、あなたはまだこれを必要なのでしょうか? – user3253002