簡體   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