我想在laravel中验证111-244-123等数据

时间:2017-09-17 13:11:22

标签: javascript laravel

我想验证这样的数据

`three_number-three_number-three_number。它看起来像111-123-121。'

我正在使用Laravel。任何人都可以帮我验证这类数据。

2 个答案:

答案 0 :(得分:2)

尝试使用regex

之类的/[0-9]{3}-[0-9]{3}-[0-9]{3}/模式

对于Laravel:'your_field_name' => 'required|regex:/[0-9]{3}-[0-9]{3}-[0-9]{3}/'

答案 1 :(得分:1)

您可以使用regex validation rule。在您的控制器中

public function store(Request $request)
{
    $this->validate($request, [
        'field_name' => 'required|regex:/[0-9]{3}-[0-9]{3}-[0-9]{3}/',
    ]);

    // Use the validated value ...
    $value = $request->input('field_name');
}

如果field_name未通过验证规则,Laravel会将验证错误存储在会话中并自动重定向用户。

自v5.2起,Laravel支持阵列字段验证。因此,如果field_name是一个数组,您可以使用

验证其中的每个项目
'field_name.*' => 'required|regex:/[0-9]{3}-[0-9]{3}-[0-9]{3}/'

请记住在输入名称中添加方括号,即

<input type="text" name="field_name[]" value="111-123-121" />

显示错误就像

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

此外,您可以在共享部分中提取上述代码段并在必要时包含它(最好在布局中)。