2017-07-18 82 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