📜  如果在 laravel php 中不为空,如何对值设置验证(1)

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

在 Laravel 中如何对非空值进行验证

在 Laravel 中我们可以使用验证器(Validator)对用户输入的数据进行验证,确保其符合要求。假设我们需要对一个非空值进行验证,可以通过以下步骤实现。

步骤 1:创建验证规则

在 Laravel 中我们可以使用 required 规则对非空值进行验证。例如,我们需要验证 name 字段是否为空,可以在验证器中添加以下规则:

$rules = [
    'name' => 'required'
];

如果这个字段为空,验证器将返回错误信息。

步骤 2:执行验证器

对于表单请求,我们可以将验证器(Validator)放在控制器动作中执行。以下是一个例子:

public function store(Request $request)
{
    $rules = [
        'name' => 'required'
    ];

    $validator = Validator::make($request->all(), $rules);

    if ($validator->fails()) {
        return redirect('form')
                    ->withErrors($validator)
                    ->withInput();
    }

    // 如果验证通过,继续执行代码
}

在这段代码中,我们通过 Validator::make($request->all(), $rules) 方法创建了一个验证器实例。如果验证失败,我们将重定向回表单,并将错误消息和用户输入的数据一同带回。

步骤 3:显示验证错误

为了在表单中显示验证错误消息,我们可以使用以下代码:

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

这段代码将循环遍历错误消息并显示在页面中。

注意事项
  • 我们可以使用 required 规则对字段进行验证,也可以使用其它规则进行各种类型的验证。
  • 在表单中,我们需要在表单字段中加入 name 属性。例如:<input type="text" name="name">
  • 如果需要验证的字段不存在,验证器将会抛出异常。