gpt4 book ai didi

php - 如何在 laravel 5.2 中验证电话号码?

转载 作者:IT王子 更新时间:2023-10-29 00:01:09 26 4
gpt4 key购买 nike

我想验证用户输入的电话号码,其中号码应为 11 并以 01 开头,值字段应仅为数字。我如何使用 Laravel 验证来做到这一点?

这是我的 Controller :

  public function saveUser(Request $request){
$this->validate($request,[
'name' => 'required|max:120',
'email' => 'required|email|unique:users',
'phone' => 'required|min:11|numeric',
'course_id'=>'required'
]);

$user = new User();
$user->name= $request->Input(['name']);
$user->email= $request->Input(['email']);
$user->phone= $request->Input(['phone']);
$user->date = date('Y-m-d');
$user->completed_status = '0';
$user->course_id=$request->Input(['course_id']);
$user->save();
return redirect('success');

}

最佳答案

一种可能的解决方案是使用正则表达式。

'phone' => 'required|regex:/(01)[0-9]{9}/'

这将检查输入以 01 开头,后跟 9 个数字。通过使用正则表达式,您不需要 numericsize 验证规则。

如果您想在其他地方重用此验证方法,最好创建您自己的验证规则来验证电话号码。

Docs: Custom Validation

在您的AppServiceProviderboot 方法中:

Validator::extend('phone_number', function($attribute, $value, $parameters)
{
return substr($value, 0, 2) == '01';
});

这将允许您在应用程序的任何地方使用 phone_number 验证规则,因此您的表单验证可以是:

'phone' => 'required|numeric|phone_number|size:11'

在您的验证程序扩展中,您还可以检查 $value 是否为数字且长度为 11 个字符。

关于php - 如何在 laravel 5.2 中验证电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36777840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com