Я пытаюсь зарегистрировать новую пользовательскую проверку, но получаю эту ошибку:Пользовательские проверки возвращает «Метод [validateAlphaSpace] не существует» в Laravel 5
Method [validateAlphaSpace] does not exist. [Laravel 5]
Вот мой код:
CustomValidator.php
<?php namespace App;
use Illuminate\Validation\Validator;
class CustomValidator extends Validator {
public function alpha_space($attribute, $value, $parameters)
{
return preg_match('/^[a-zA-Z0-9\s]+$/u', $value);
}
}
ValidatorServicePorvider.php
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Validator;
use App\CustomValidator;
class ValidatorServicePorvider extends ServiceProvider {
/**
* Bootstrap any necessary services.
*
* @return void
*/
public function boot()
{
Validator::resolver(function($translator, $data, $rules, $messages)
{
return new CustomValidator($translator, $data, $rules, $messages);
});
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
}
}
Я также регистрирую провайдер внутри app.php ... Любой может видеть, что является проблемой?
ошибка уже сказал вам, что происходит, вы должны изменить свое имя метода «alpha_space» в «validateAlphaSpace» , что это Laravel способ добавить пользовательскую проверку –
вы можете принять смотреть на [ Пользовательские правила валидации] (http://laravel.com/docs/4.2/validation#custom-validation-rules) –