当类应用到输入时,php laravel 7 blade模板表单无法提交。

问题描述 投票:0回答:1
@extends('layouts.head')
@section('content')
<div class="container">
    <div class="jumbotron" style="margin: 1.2rem auto 0 auto; text-align: center; width:30rem;">
        <div>
            <h1>문의하기</h1>
        </div>
        <form method="POST" action="/admin" name="Form">
            @csrf
            <div class="form-group">
                <input class="form-control" type="text" name="title" placeholder="제목">
            </div>
            <div class="form-group">
                <textarea class="form-control" name="description" placeholder="내용" rows="10"></textarea>    
            </div>
            <div class="form-group">
                <button class="form-control" type="submit" value="Submit">submit</button>
            </div>
        </form>
    </div>
</div>
@endsection

所以当我用bootstrap应用这些类的时候,表单无法提交,而且会返回到网站,没有把输入保存到数据库中。当我删除所有的类,它将提交,我不知道为什么会发生。我在google上找了一下,但还是没有找到,希望能得到帮助,这些是路由和控制器。

Route::post('/admin','PostsController@store');
Route::get('/post/create','PostsController@create');


public function create()
    {
        return view('posts.create');
    }


public function store(Request $request) {
        Post::create(request()->validate([
            'title' => ['required','min:3'],
            'description' => ['required','min:3']
        ]));
        return redirect('/')->with('message', 'Task was successful!');
        }

php html laravel forms
1个回答
1
投票

你可能有一个验证错误。你应该真正地将验证错误显示在你的表单上,否则你就是在盲目地测试。添加 @error 指令到你的代码中,看看它是否向客户端返回验证错误。

 <div class="container">
        <div class="jumbotron" style="margin: 1.2rem auto 0 auto; text-align: center; width:30rem;">
            <div>
                <h1>문의하기</h1>
            </div>
            <form method="POST" action="/admin" name="Form">
                @csrf
                <div class="form-group">
                    <input class="form-control" type="text" name="title" placeholder="제목">
                </div>
                @error('title')
                    <div class="alert alert-danger">{{ $message }}</div>
                @enderror
                <div class="form-group">
                    <textarea class="form-control" name="description" placeholder="내용" rows="10"></textarea>    
                </div>
                @error('description')
                    <div class="alert alert-danger">{{ $message }}</div>
                @enderror
                <div class="form-group">
                    <button class="form-control" type="submit" value="Submit">submit</button>
                </div>
            </form>
        </div>
    </div>

0
投票

你的min可能遇到了一个验证问题。你可以在文档中看到min的描述。

对于字符串数据,值对应于字符数。对于数字数据,value对应于一个给定的整数值(属性必须同时具有数字或整数规则)。对于数组来说,size对应于数组的计数。

顺便说一下,把您的 validate() 以外 Create

    public function store(Request $request) {
        $request->validate([
            'title' => ['required','min:3'],
            'description' => ['required','min:3']
        ]);

        Post::create([
            $request->get('title'),
            $request->get('description'),
        ]);

        return redirect('/')->with('message', 'Task was successful!');
    }
© www.soinside.com 2019 - 2024. All rights reserved.