1,app\Providers\AppServiceProvider.php
在文件中的boot方法中添加
namespace App\Providers;
use Validator;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot() {
//扩展身份证验证规则
Validator::extend('identitycards', function($attribute, $value, $parameters) {
return preg_match('/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/', $value);
});
Validator::extend('telphone', function($attribute, $value, $parameters) {
return preg_match('/^1[34578][0-9]{9}$/', $value);
});
}
2,自定义验证错误信息,找到resources\lang\zh-CN\validation.php文件
在return中添加
'identitycards' => '身份证号错误!',
这样就注册好了。
现在开始始用,在你需要的地方使用,和laravel提供的验证一样如下
'icards' => 'required|identitycards
注:identitycards这个命名就是新的验证规则可自定义()但三个地方都得一致