Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带空值的Laravel前输入字段显示旧(原始)值,而不是空输入字段_Laravel - Fatal编程技术网

带空值的Laravel前输入字段显示旧(原始)值,而不是空输入字段

带空值的Laravel前输入字段显示旧(原始)值,而不是空输入字段,laravel,Laravel,我在使用以前的Laravel插件处理表单和字段时遇到了一些问题 用例是给定模型的“编辑”表单 Former::text('title') ->label('Title') ->value( $title ); Former::text('description') ->label('Description') ->value( $description ); 规则: 标题必须始终存在,且长度至少为10个字符 说明可能为空 预期行为: 加载编辑表单时

我在使用以前的Laravel插件处理表单和字段时遇到了一些问题

用例是给定模型的“编辑”表单

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