laravel-admin(自定義表單視圖)


前言:

在上一遍文章(https://www.cnblogs.com/shiwenhu/p/10271013.html)中寫到可以使用自定義form組建來創建表單,幾乎能滿足我們大部分要求,而且不用我們來寫html頁面。但是對於很多定制的頁面,form組建不能滿足我們的要求的頁面需求時候,這個時候想自定義一個頁面我們手工來定制。

方法:

1.還是在對應的視圖方法中,定義我們的視圖文件(這個時候定義了我們的test模板,然后傳值name初始化,可以用於編輯功能)

    public function create(Content $content)
    {
        // 方式1,使用form組建進行頁面渲染
//        $f = new \Encore\Admin\Widgets\Form([
//            'name'=>'初始化數據'
//        ]);
//        $f->action('/adminyc/area');
//        $f->textarea('name', '簡介')->help('簡介');
//        return $content
//            ->header('Create')
//            ->description('description')
//            ->body($f);

        return $content
            ->header('Create')
            ->description('description')
            ->body(view('test', ['name' => '初始化數據'])->render());
    }

2.對應的test.blade.php

<form action="/adminyc/area" method="post">

    <div class="row">
        <div class="col-md-12">
            <div class="box box-info">
                <div class="box-header with-border">
                    <h3 class="box-title">創建公司</h3>
                </div>
                <div class="form-horizontal">
                    <div class="box-body">
                        <div class="form-group  {!! !$errors->has('name') ? '' : 'has-error' !!}">
                            <label for="text1" class="col-sm-2 control-label">公司名稱</label>
                            <div class="col-sm-10">
                                @foreach ($errors->get('name') as $error)
                                    <label class="control-label" for="inputError"><i class="fa fa-times-circle-o"></i> {{$error}}</label><br/>
                                @endforeach
                                <input type="text" class="form-control" id="text1" placeholder="公司名稱" name="name" value="{{old('name', $name)}}">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>


    <div class="box-footer">
        <button type="submit" class="btn btn-info pull-right">保存</button>
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
    </div>
</form>

3.對應的業務處理方法

public function store(Request $request)
    {
        $val = \Illuminate\Support\Facades\Validator::make($request->all(),
            [
                'name' => 'required|array'
            ], [
                'name.required' => "名字不能為空"
            ]);
        if ($val->fails()) {
            return redirect('/adminyc/area/create')
                ->withErrors($val)
                ->withInput();
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM