带空值的Laravel前输入字段显示旧(原始)值,而不是空输入字段
我在使用以前的Laravel插件处理表单和字段时遇到了一些问题 用例是给定模型的“编辑”表单带空值的Laravel前输入字段显示旧(原始)值,而不是空输入字段,laravel,Laravel,我在使用以前的Laravel插件处理表单和字段时遇到了一些问题 用例是给定模型的“编辑”表单 Former::text('title') ->label('Title') ->value( $title ); Former::text('description') ->label('Description') ->value( $description ); 规则: 标题必须始终存在,且长度至少为10个字符 说明可能为空 预期行为: 加载编辑表单时
Former::text('title')
->label('Title')
->value( $title );
Former::text('description')
->label('Description')
->value( $description );
规则:
- 标题必须始终存在,且长度至少为10个字符
- 说明可能为空
$title
和$description
的值
每当提交带有无效字段值的表单时,我希望在字段中显示提交的值,而不是$title
和$description
的值
问题:
这仅在提交非空字符串时有效
当提交一个空字符串时,就像前者处理它,就像字段还没有提交一样,因此使用$title
或$description
给出的值
我认为前者能够做到这一点,并且只有在发布的数据不包含字段的情况下,才能使用值($variable)
值。但似乎前者在提交的变量为空时也接受变量值
为什么这是个问题?
假设您编辑了这两个字段,并且实际上想要更改标题
,并完全删除说明
,根据规则,这是有效的。然后,由于您输入的title
太短,验证不会通过,title
将获得新的(太短的)title
作为字段值,而description
值将返回到$description
变量的值,而不是显示已发布的空字段
它感觉像是$\u POST['description']=”
被视为$\u POST['description']=null
,或者是未设置
——即使空字段是帖子的一部分。在您的视图中
//replace
Former::text('title')
->label('Title')
->value( $title );
//with
Former::text('title')
->label('Title')
。。。在你的控制器里
//add
Former::populate($model);
$model beeing正在讨论的模型:)
$model->title必须存在,并且与原始代码中的$title值相同
如果将->value($somevalue)与前者一起使用,则始终会使用$somevalue