繁体   English   中英

Laravel:某些字段的自定义验证不起作用

[英]Laravel :custom validation for certain field not working

在我的应用程序中,地址字段的自定义验证不起作用,但是其他文件起作用。 不知道这个问题。

视图

<div class="col-md-4">
    <label for="email">Location:</label>
    <div class="form-group">
        <input name="address" id="autocomplete" placeholder="Enter your address"
         onFocus="geolocate()" class="form-control" value="{!!$company->address!!}" type="text"></input>
    </div>
</div>

控制者

$this->validate($request, [
    'name' => 'required|regex:/^[a-zA-Z .0-9]+$/',
    'office_mail' => 'required|email|max:255',
    'address' => 'required|regex:/^[a-zA-Z ,0-9]+$/',
    'industry_id' => 'required',
    'contact_number' => 'numeric|digits_between:10,12',
    'company_website_url' => 'required|url',
]);

Validation.php

'custom' => [
    'name' => [
        'required' => 'Your name is required',
    ],
    'address' => [
        'required' => 'The location field is required',
    ],
    'address' => [
        'regex' => 'Please enter a valid location',
    ],
    'company_id' => [
        'required' => 'The company field is required',
    ],
]

名称的自定义验证正在工作,我收到“您的名称是必需的”验证消息。但是对于地址字段,我得到的是“地址字段是必需的”,而不是“位置字段是必需的”

'custom' => [
'name' => [
    'required' => 'Your name is required',
],
'address' => [
    'required' => 'The location field is required',
    'regex' => 'Please enter a valid location',
],
'company_id' => [
    'required' => 'The company field is required',
]
]

因为您在数组中定义地址字段2次,所以第一个被2nd覆盖。

在第二个阵列中,没有要求提供的消息,这是其显示默认消息的原因

'address' => [
    'regex' => 'Please enter a valid location', // No message for required
],

需要将其更改为:

'address' => [
    'required' => 'The location field is required',
    'regex' => 'Please enter a valid location',
],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM