Form 외부에서 오류 확인 시 CSS 클래스 할당
라우팅 및 단순 컨트롤러를 제공합니다.
routes/web.php
Route::get('/form', 'FormController@index');
Route::post('/form', 'FormController@post');
app/Http/Controllers/FormController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FormController extends Controller
{
public function index()
{
$list = [
'' => '選択してください',
'1' => 'ほげ',
'2' => 'ふが',
];
return view('form', compact('list'));
}
public function post(Request $request)
{
$request->flash();
$request->validate([
'text' => 'required',
'id' => 'required',
],[
'text.required' => 'テキストを入力してください。',
'id.required' => 'リストを選択してください。',
]);
return redirect('form')->with('flash_message', '送信完了しました。');
}
}
템플릿을 준비합니다.기본 레이아웃과 CSS를 사용합니다.
resources/views/Form.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
@if (session('flash_message'))
<div class="alert alert-success" role="alert">
{{ session('flash_message') }}
</div>
@endif
<div class="card">
<div class="card-header">フォーム</div>
<div class="card-body">
{{Form::open(['url' => '/form'])}}
{{Form::token()}}
<div class="form-group">
{{Form::text('text',
old('text'),
$errors->has('text') ? ['class' => 'form-control is-invalid', 'placeholder' => '入力してください']
: ['class' => 'form-control', 'placeholder' => '入力してください'])}}
<span class="invalid-feedback" role="alert">@error('text'){{ $message }}@enderror</span>
</div>
<div class="form-group">
{{Form::select('id',
$list,
old('id'),
$errors->has('id') ? ['class' => 'form-control is-invalid']
: ['class' => 'form-control']
)}}
<span class="invalid-feedback" role="alert">@error('id'){{ $message }}@enderror</span>
</div>
{{Form::submit('送信', ['class'=>'btn btn-primary'])}}
{{Form::close()}}
</div>
</div>
</div>
</div>
</div>
@endsection
세 가지 연산자$errors->has('id') ? ['class' => 'form-control is-invalid'] : ['class' => 'form-control']
오류가 있는지 없는지에 따라 클래스의 그룹 파라미터를 변경합니다.검증 오류가 있으면 이런 오류 장식이 있습니다.
Reference
이 문제에 관하여(Form 외부에서 오류 확인 시 CSS 클래스 할당), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/danishi/items/621ebe522c6ded345aff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)