表单上的Laravel Nova条件字段

时间:2018-11-27 17:42:22

标签: laravel-5 vue.js laravel-nova

我正在使用Nova为我的资源之一创建一个创建表单。一些字段之间存在条件关系。

例如:如果选择了“正在试用”,则必须为“试用结束日期”指定一个值,但是如果未选择“正在试用”,则页面上的“结束日期”字段将没有意义。另一个示例,字段A和B是互斥的。

所有这些都可以通过后端的条件验证器轻松实施,我知道该怎么做。我只是想制作一个不会造成混乱的界面。

如何为该资源自定义前端JS表单以反映这种条件关系?

1 个答案:

答案 0 :(得分:0)

Its possible using this one

// put this inside     **public function fields(Request $request)**
BelongsTo::make('Subcategoria', 'subcategory', 'App\Nova\SubCategory'),

 // conditional display
 $this->sellerFields(),


//used for conditional seller input 
    protected function sellerFields()
    {
        if(\Auth::user()->role == "admin"){
            return $this->merge([
                BelongsTo::make('Vendedor', 'user', 'App\Nova\User'),
            ]);
        }else{
            return $this->merge([]);
        }
    }