php laravel 7 шаблон бланка не будет отправлен, когда класс применяется к входам - PullRequest
0 голосов
/ 26 апреля 2020
@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!');
        }

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

У вас может быть ошибка проверки. Вы действительно должны отображать ошибки проверки обратно в форму, в противном случае вы тестируете вслепую. Добавьте директивы @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 голосов
/ 26 апреля 2020

Возможно, у вас возникла проблема с проверкой вашего мин. Описание min можно увидеть в do c:

Для строковых данных значение соответствует количеству символов. Для числовых данных c значение соответствует заданному целочисленному значению (атрибут также должен иметь числовое значение c или целочисленное правило). Для массива размер соответствует количеству массива.

Что касается примечания, гораздо удобнее читать ваш 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!');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...