我正在使用该软件包的最新版本。
我已经扩展了软件包以显示错误消息,例如遵循App\GlobalIt\Html.php
namespace App\Acme\Html;
use Spatie\Html\Html as SpatieHtml;
class Html extends SpatieHtml
{
public function text($name = null, $value = null)
{
$errorMessage = "Test";
if ($errorMessage) {
return $this->input('text', $name, $value)->class('is-invalid')->addChild(html()->div($errorMessage)->class('invalid-feedback'));
}
return $this->input('text', $name, $value);
}
以下是服务提供商HtmlServiceProvider.php
namespace App\Acme\Html;
use Illuminate\Support\ServiceProvider;
use Spatie\Html\Html as SpatieHtml;
class HtmlServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(SpatieHtml::class, Html::class);
}
}
当我将modelForm
与model
一起使用时,该值始终为空。
{{ html()->form('POST', route('frontend.register.step2'))->open() }}
{{ html()->text('colour') }}
这很好,并且在提交时显示错误类别。
以下内容不会填充模型值
{{ html()->modelForm($userDetail,'PATCH', route('frontend.register.edit.details',$userDetail))->open() }}
{{ html()->text('colour') }}
我在这里做什么错了?
我认为这里的问题是Spatie/Html
包注册了我不知道如何覆盖的函数'html'。
use Spatie\Html\Html;
if (! function_exists('html')) {
/**
* @return \Spatie\Html\Html
*/
function html()
{
return app(Html::class);
}
}
如何覆盖或重新声明此函数以指向我的html
类?
谢谢