2017-07-18 78 views
0

在我的應用程序中,地址字段的自定義驗證不起作用,但其他文件正在工作。沒有關於這個問題的想法。Laravel:自定義驗證某些字段不起作用

查看

<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', 
    ], 
] 

的自定義驗證˚F或名稱是工作,我得到「你的名字是必需的」,而不是「位置字段是必需的」

回答

2

由於對地址欄我'得到驗證message.But「地址字段是必需的」你的定義地址字段在數組中第二次,所以第一個覆蓋 第二。

在第二陣列所需申請沒有消息的原因是其顯示默認的消息

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

需要將其更改爲:

'address' => [ 
    'required' => 'The location field is required', 
    'regex' => 'Please enter a valid location', 
], 
5
'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', 
] 
] 
+0

啊,這是錯誤.. – Shalom

+0

不應該這個答案被接受@沙洛姆 – Exprator