【发布时间】:2017-06-07 22:02:33
【问题描述】:
我有一个 Laravel 5.3 应用程序和一个更新表单,用于发送用户个人资料值。其中之一也是用户图像,我正在为它创建一个隐藏的输入字段,所以如果用户没有上传任何新图像,我仍然可以看到他有带有旧图像值的隐藏字段。
<input type="hidden" class="form-control" name="old_image" value="{{ $player->image_filename }}" id="oldImage">
如果他移除图像,隐藏的输入值变为空。
document.getElementById('oldImage').value = '';
这就是我想到更新用户图像的方式。但我不知道如何为该表单设置验证规则。与此类似的东西:
public function rules()
{
return [
'first_name' => 'required|max:50',
'last_name' => 'required|max:50',
'birthday' => 'required',
'image' => required if old_image empty
];
}
我尝试过使用'image' => 'required_without:old_image', 和'image' => 'required_if:old_image, null',,但它们都没有显示任何丢失图像的错误消息。我正在显示这样的错误消息:
【问题讨论】:
-
或者你可以在规则中加入 if 条件
-
你可以使用 required_if 验证规则。参考:laravel.com/docs/5.3/validation
-
你能从你发送隐藏变量的地方显示更多代码吗?
-
@mith 我试过了,但没有收到任何错误消息:'image' => 'required_if:old_image, ""',
标签: php laravel validation