【发布时间】:2016-08-05 14:39:57
【问题描述】:
事实如下:
- 我有一个包含许多字段的表单
- 对于三个字段,我只需要填写其中一个
- 我在这三个字段的自定义表单请求中设置了
required_without_all: - 我已为我的必填字段修改了
validation.php中的:attribute - 有问题的表单字段在我的应用程序中是唯一的
以下是问题:
- 当我在
emerg_contact_home_phone字段中输入电话号码时,其他两个不显示错误,这是正确的。 - 当我在
emerg_contact_work_phone字段中输入电话号码时,emerg_contact_mobile_phone显示错误。 - 当我在
emerg_contact_mobile_phone字段中输入电话号码时,emerg_contact_home_phone和emerg_contact_work_phone都会显示错误。 - 显示错误消息时,
emerg_contact_mobile_phone不会显示修改后的属性“手机”,而是显示“emerg_contact_mobile_phone”。
这是我尝试过的:
- 我对所有位置的表单名称的拼写进行了三次检查。
- 我坚信问题与
emerg_contact_mobile_phone字段有关,因此我尝试将名称更改为不同的名称(即:'mobile_phone')
这是我的代码:
form.blade.php:
<tr>
<td class="col-md-4">
{!! Form::label('emerg_contact_work_phone', '* Work Phone:', array('class' => 'control-label')) !!}
</td>
<td class="{{ $errors->has('emerg_contact_work_phone') ? 'has-error' : ''}}">
{!! Form::text('emerg_contact_work_phone', null, array('class' => 'form-control')) !!}
{!! $errors->first('emerg_contact_work_phone', '<span class="help-block">:message</span>') !!}
</td>
</tr>
<tr>
<td class="col-md-4">
{!! Form::label('emerg_contact_home_phone', '* Home Phone:', array('class' => 'control-label')) !!}
</td>
<td class="{{ $errors->has('emerg_contact_home_phone') ? 'has-error' : ''}}">
{!! Form::text('emerg_contact_home_phone', null, array('class' => 'form-control')) !!}
{!! $errors->first('emerg_contact_home_phone', '<span class="help-block">:message</span>') !!}
</td>
</tr>
<tr>
<td class="col-md-4">
{!! Form::label('emerg_contact_mobile_phone', '* Mobile Phone:', array('class' => 'control-label')) !!}
</td>
<td class="{{ $errors->has('emerg_contact_mobile_phone') ? 'has-error' : ''}}">
{!! Form::text('emerg_contact_mobile_phone', null, array('class' => 'form-control')) !!}
{!! $errors->first('emerg_contact_mobile_phone', '<span class="help-block">:message</span>') !!}
</td>
</tr>
验证.php:
'attributes' => [
'givenname' => 'First Name',
'surname' => 'Last Name',
'email' => 'Email',
'emerg_contact_relationship' => 'Relationship',
'emerg_contact_givenname' => 'First Name',
'emerg_contact_surname' => 'Last Name',
'emerg_contact_work_phone' => 'Work Phone',
'emerg_contact_home_phone' => 'Home Phone',
'emerg_contact_mobile_phone' => 'Mobile Phone',
],
CustomFormRequest.php:
public function rules()
{
return [
'givenname' => 'required',
'surname' => 'required',
'email' => 'required|email|unique:employees,email,' . $this->get('id'),
'password' => 'required_with:is_user|min:6',
'password_confirmation' => 'required_with:is_user|min:6|same:password',
'aca_number' => 'unique:employees,aca_number,' . $this->get('id'),
'license_number' => 'unique:employees,license_number,' . $this->get('id'),
'base_location' => 'required',
'emerg_contact_relationship' => 'required',
'emerg_contact_givenname' => 'required',
'emerg_contact_surname' => 'required',
'emerg_contact_home_phone' => 'required_without_all:emerg_contact_work_phone, emerg_contact_mobile_phone',
'emerg_contact_work_phone' => 'required_without_all:emerg_contact_home_phone, emerg_contact_mobile_phone',
'emerg_contact_mobile_phone' => 'required_without_all:emerg_contact_home_phone, emerg_contact_work_phone',
];
}
【问题讨论】:
-
只是尝试,去掉逗号和下一列之间的空格。
emerg_contact_work_phone,emerg_contact_mobile_phone -
圣洁的母亲...好收获!!最好将其作为答案提交:)
-
哈!我实际上不确定是否是这种情况,但所有示例都不使用空格。
-
我猜是坏习惯……编码不像写一句话
标签: php forms validation laravel-5.1