我使用的是laravel 5.1.9 LTS。我正在使用开箱即用的laravel的真实功能。我在注册中添加了一个新的表单字段,它没有被验证。我添加的新表单字段。
<div class="controls">
<div class="controls first">
<select name="account_type" class="form-control">
<option value="0" >Select the account type</option>
<option value="1">Buyer</option>
<option value="2">Seller</option>
<option value="3">Agent</option>
</select>
</div>
<p class="help-block">
{{ $errors->first('account_type') }}
</p>
</div>
验证部分
protected function validator(array $data)
{
return Validator::make($data, [
'email' => 'required|email|max:255|unique:users',
'account_type' => 'required|min:1',
'password' => 'required|confirmed|min:6',
]);
}
我也把account_type在可填充的保护变量,但仍然没有工作
问题是account_type的value参数作为字符串返回。当你在字符串上调用"min:1"时,它将接受最小长度为1的字符串,这是所有选项的情况。
你可以试着改变这一行,让它返回一个零长度的字符串/null:
<option value>Select the account type</option>
你可以去掉"min:1"这个规则,只保留"required"。