📜  laravel 验证电话号码 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:17.178000             🧑  作者: Mango

Laravel 验证电话号码 - PHP

在开发 Laravel 应用时,经常需要验证用户输入的数据是否符合要求。本文将介绍如何使用 Laravel 中的验证器来验证电话号码。

步骤
步骤 1:创建验证规则

在 Laravel 中,可以使用 Validator 类来验证数据。首先,我们需要创建一个验证电话号码的规则。

// app/Rules/Phone.php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class Phone implements Rule
{
    public function passes($attribute, $value)
    {
        // 验证规则
        return preg_match('/^1[3456789]\d{9}$/', $value) === 1;
    }

    public function message()
    {
        // 错误消息
        return '电话号码格式不正确。';
    }
}

在上面的代码中,我们创建了一个 Phone 类,该类实现了 Rule 接口,该接口包含两个方法,passesmessagepasses 方法用于执行验证规则,message 方法则返回验证失败的错误消息。

passes 方法中,我们使用正则表达式来验证电话号码是否符合要求。如果验证通过,该方法返回 true,否则返回 false

message 方法中,我们返回一个错误消息,这条消息将在验证失败时显示给用户看。

步骤 2:使用验证规则

现在,我们已经创建了一个验证电话号码的规则,接下来我们需要将其应用到实际的代码中。

// app/Http/Requests/RegisterRequest.php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use App\Rules\Phone;

class RegisterRequest extends FormRequest
{
    public function rules()
    {
        return [
            // 验证电话号码
            'phone' => ['required', new Phone],
        ];
    }

    public function messages()
    {
        return [
            'phone.required' => '电话号码是必填字段。',
        ];
    }
}

在上面的代码中,我们使用 FormRequest 类来处理用户提交的表单数据。在 rules 方法中,我们定义了一个验证规则,该规则要求 phone 字段必须填写,并且必须符合我们之前定义的电话号码格式。

messages 方法中,我们定义了一个错误消息,用于在电话号码字段为空时显示给用户看。

步骤 3:显示错误信息

当用户提交的数据无法通过验证时,我们需要显示相应的错误信息。在 Laravel 中,可以使用 errors 方法来获取验证器产生的错误信息。

<!-- resources/views/register.blade.php -->

<form method="POST" action="{{ route('register.store') }}">
    @csrf

    <div>
        <label for="phone">电话号码</label>
        <input id="phone" type="text" name="phone" value="{{ old('phone') }}">
        @if($errors->has('phone'))
            <div>{{ $errors->first('phone') }}</div>
        @endif
    </div>

    <button type="submit">提交</button>
</form>

在上面的代码中,我们显示了一个表单,其中包含一个电话号码字段。如果用户提交的电话号码无法通过验证,我们将在字段下方显示相应的错误消息。

结论

在本文中,我们介绍了如何使用 Laravel 中的验证器来验证电话号码。通过创建一个验证规则,并将其应用到表单数据中,我们可以轻松地保证用户提交的数据符合要求。