Laravel内置的验证规则不够用?
没事,那我们就自己来添加规则
在 laravel 的 app\Providers\AppServiceProvider.php 这个文件中,boot 方法下可以自己添加规则
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Validator;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//手机号
Validator::extend('mobile', function($attribute, $value, $parameters) {
return preg_match('/^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/', $value);
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
这样,我们的代码就“打入内部”了,可以在 Validator 中直接使用
然后找到你的语言包
我的修改过,所以在
加入自定义错误信息
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'mobile' => '手机号格式错误',
// ......
];
这样就配置好了,很方便吧