【发布时间】:2018-09-17 22:03:44
【问题描述】:
我有一个用户可以随时返回并填写的表单。我有一个选择框,特别是需要加密的数据。
我遇到的问题是,由于此字段是可选的,因此有时该字段可能为空/空,因此我的页面失败并显示错误“有效负载无效”。我假设这是因为它试图解密一个为空的字段,因此它不能。
下面是刀片的一部分:
<label for="religion">Religion</label>
<select class="form-control" name="religion" id="religion">
<option value="" selected>Choose...</option>
<option value="Religion 1" @if(old('religion', decrypt($user->diversity->religion) === "Religion 1")) selected @endif>Religion 1</option>
<option value="Religion 2" @if(old('religion', decrypt($user->diversity->religion) === "Religion 2")) selected @endif>Religion 2</option>
</select>
因为我还使用old() 函数在验证失败时也返回字段的值,所以我不能使用empty() 执行if 语句来检查$user->diversity->religion 是否不为空。
有没有办法做到这一点而不会使我的刀片过于臃肿。如果有一种方法可以仅在字符串不为空/空时解密字符串,那将是理想的。
【问题讨论】:
-
什么是
$user?它是您的用户模型的实例还是其他什么? -
@DarrylE.Clarke
$user是当前登录用户的一个实例,所以是用户模型。 -
为什么不能使用 !empty?您可以在旧函数之前添加它。
-
您也可以将该检查放入控制器而不是视图中,并将结果作为值传递给视图。
-
酷,一个答案来了。