【问题标题】:Laravel: keep the checkbox selection after a validation error?Laravel:在验证错误后保留复选框选择?
【发布时间】:2021-12-03 08:15:27
【问题描述】:

在我的表单中,我希望复选框在验证错误后保持其状态(选中或未选中)。 这是我目前所拥有的:

<input type="checkbox" id="delete-user" class="form-check-input" data-data-section="users" name="permissions[]" value="delete-user" {{ (is_array(old('permissions')) && in_array(1, old('permissions'))) ? ' checked' : '' }}>

但看起来 old() 函数不起作用。 我也试过了:

old('permissions.'.$key)

其中 $key 是复选框数组索引,但它也不起作用。
有什么想法吗?

【问题讨论】:

  • 复选框的值为delete-user。所以你不认为在检查条件下应该有delete-user 而不是1 吗?

标签: laravel


【解决方案1】:

我认为你是 in_array 函数中的无效值传递

试试这个:

value="delete-user" {{ (is_array(old('permissions')) && in_array('delete-user', old('permissions'))) ? ' checked' : '' }}> 

【讨论】:

  • 感谢您的帮助,但无论出于何种原因,它仍然无法正常工作。真的看起来 old() 根本不起作用。
  • 好的,现在可以了。我正在使用简单的重定向进行测试:return redirect()-&gt;route('admin.users.roles.edit')-&gt;with('error', __('message'));,结果输入没有闪烁。另一方面,输入与验证请求一起自动闪烁。
猜你喜欢
  • 2021-02-24
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
  • 1970-01-01
  • 2018-10-28
  • 1970-01-01
  • 2012-07-15
相关资源
最近更新 更多