You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9 旧值自动截断(仅保留首词)问题求助

解决方案

问题出在HTML属性解析上:你的Blade组件中,input标签的value以及其他属性(如name、id)未用双引号包裹。当值包含空格(比如全名“张三 王五”)时,HTML解析器会将空格后的内容识别为新属性,导致输入框仅显示第一个单词。

修复方法很简单,给所有HTML属性值加上双引号即可:

修改后的form-field.blade.php关键代码:

<label class="text-sm font-semibold" for="{{ $name }}">{{ $label }} {!! $required ? '<span class="text-primary">*</span>' : '' !!}</label>
<div class="bg-gray-300 rounded-md @error($name) border-primary border-1 @enderror">
   <input 
      class="flex-grow bg-transparent border-gray-300 border-2 rounded-md w-full py-2 px-2 focus:border-black focus:outline-none"
      name="{{ $name }}"
      type="{{ $type }}"
      id="{{ $name }}"
      min="{{ $min }}"
      max="{{ $max }}"
      value="{{ $value ?? old($name) }}"
      {{ $disabled ? "disabled" : "" }}
   >
</div>

重点修改部分:

  • label的for属性:for="{{ $name }}"
  • input的name、type、id、min、max、value属性均添加双引号包裹

此问题与你之前配置的Trim中间件、AppServiceProvider无关,本质是前端HTML解析错误,而非后端数据处理逻辑问题。

内容的提问来源于stack exchange,提问作者Abu Bakar BSA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:30:58