안녕하세요 상훈입니다.

Laravel - validation 부분에서 Request를 이용하여 Controller에 아무것도 작성하지 않은 채로 유효성 조건을 작성할 수 있는 방법을 포스팅하겠습니다.

1. Request 생성, 작성
2. Controller에서 조건 작성

 

생각보다 짧고 간단합니다!

테이블을 먼저 소개하겠습니다. 

테이블

이 중에서 3가지, Name, Description, Category유효성 검사를 하도록 하겠습니다.

 

$ php artisan make:Request 파일명

 - 말 그대로 Request를 생성하는 명령어 입니다.

 

App/Http/Requests/파일명.php

로 해당 내용이 생성되어졌을 것입니다. 확인해주세요!

경로: App/Http/Requests/...php

 

이제 Request의 내용을 작성하도록 하겠습니다.

ex) name 이라는 컬럼은 '필수', '최소 2글자', '최대 120글자' 로 설정하였습니다. 

 

사용하시는 Controller로 돌아와서,

  - use로 해당 Request를 추가해주고,

원래 Form의 내용을 전송 받을 때 Request 사용하던 것을 Request파일명으로 변경합니다.

 

그럼 끝!!!
확인해볼까요?

title에 작성한 내용은 유효성 검사를 통과하여 danger 문구가 없지만,
나머지 값들은 작성하지 않았기에 danger가 출력되었습니다.

감사합니다.

 

 

혹시 Html 부분을 모르시겠다? 하시는 분들만 봐주세요

error 문구 작성

@if($errors->has('name'))
  <span class="text-danger">{{ $errors->first('name') }}</span><br>
@endif

has('name') 부분과 first('name') 부분만 태그의 이름과 동일하게 변경해주시면 됩니다.

 

이상입니다.

 

 

 

반응형

안녕하세요 상훈입니다.

Vue.js 에서 Axios를 사용하여 화면에 출력하는 예제를 작성해보도록 하겠습니다.

비동기 통신 방법으로는 Axios와 Ajax 등이 있는데, 이 중 Axios를 사용하도록 하겠습니다.

 

생각보다 아주 간단합니다!

이미지 클릭시 해당 링크로 이동

1. script로 head 태그 내에 작성해주세요.

2. mounted api 속에 작성합니다.

let app = new Vue({
            el: '#app',
            data: {
                posts: [],
            }, 
            mounted () {
                axios.get('https://jsonplaceholder.typicode.com/users/').then((response) => {
                    this.posts = response.data
                })
            }
        })

이렇게 되면, 비어있던 posts 배열에 위에서 response 받은 json 객체가 posts에 담겨져 사용할 수 있게 됩니다.

 

3. html에 작성

<div id="app">
        <div v-for="post in posts">
            <h1>{{ post.name }}</h1>
            <p>{{ post.email }}</p>
        </div>
    </div>

v-for 문을 이용한 해당 내용 출력입니다.

여러 가지 key 값이 존재하는데 그 중, 저는 name과 email을 가져와 표기하도록 하겠습니다.

 

예시

 

이상입니다.

 

 

 

이곳에 전체적으로 요약과 예시가 다 존재합니다! 따라서 해주세요.

 

Axios | Cracking Vue.js

액시오스 뷰에서 권고하는 HTTP 통신 라이브러리는 액시오스(Axios)입니다. Promise 기반의 HTTP 통신 라이브러리이며 상대적으로 다른 HTTP 통신 라이브러리들에 비해 문서화가 잘되어 있고 API가 다양

joshua1988.github.io

 

반응형

안녕하세요 상훈입니다.

vue.js 에서도 역시나 모든 언어들이 그러하듯 Life Cycle이 존재합니다.

 

 

Lifecycle Hooks | Vue.js

Lifecycle Hooks This guide assumes that you have already read the Composition API Introduction and Reactivity Fundamentals. Read that first if you are new to Composition API. Watch a free video about Lifecycle Hooks on Vue Mastery You can access a componen

v3.vuejs.org

 

Vue.js 3 에서 지원하는 LifeCycle Api's 입니다. 

클릭시 해당 링크로 이동

 

코드 먼저 살펴보겠습니다.

 let app = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue!',
                taskCompleted: false,
            },
            beforeCreate() {    // 1 
                alert('before create')
            },
            created() {         // 2
                alert('created')
            },
            beforeMount() {     // 3
                alert('before mount')
            },
            mounted() {         // 4
                alert('after mounted')
            },
            
        })

1~4 까지의 순서를 표현해보았는데요, 

beforeCreate -> created -> beforeMount -> mounted 순서대로 진행되는 것을 보실 수 있습니다.

 

이렇게 작성한다면, 해당 내용은 

'before create'  ->  'created'  ->  'before mount'  ->  'after mounted'  순서대로 렌더링이 되어 출력됩니다. 
물론 가장 마지막은 app => messagetaskCompleted 입니다.

 

 

반응형

안녕하세요 상훈입니다.

Html, Css, Javascript 로 로딩 화면을 만드는 방법에 대해 포스팅하겠습니다.

BootStrap 을 이용하여 공통 클래스를 지정하였고. 일부분은 직접 작성하였습니다.

이미지를 클릭하시면 부트스트랩으로 이동합니다.

html

<div id="loader">
    <div class="spinner-border text-info position-absolute top-50 start-50" role="status">
        <span class="visually-hidden">Loading...</span>
    </div>
</div>

Css

#loader {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    display: block;
    opacity: 0.8;
    background: rgb(156, 154, 154);
    z-index: 99;
    text-align: center;
}

#loader>div {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 100;
}

 

Javascript

$(window).on('load', function () {
    $('#loader').hide();
})

 - 제이쿼리를 사용할 수 있게 해야합니다.

  제이쿼리 cdn 적용하는 법 ↓

 

[ jQuery ] jQuery 제이쿼리 CDN 링크 공유

안녕하세요 상훈입니다. 자바스크립트 - 제이쿼리의 cdn을 공유합니다. 해당 코드 한줄을 내에 넣어줍니다.

code-hoon.tistory.com

 

  BootStrap cdn 적용하는 법 ↓

 

 

[ BootStrap ] 부트스트랩 cdn 적용하는 방법

안녕하세요 상훈입니다. 프론트엔드 부트스트랩 프레임워크를 사용하고 싶을때, cdn으로 class와 id에 대한 javascript, css를 적용하는 방법을 포스팅하겠습니다. 아래의 링크를 복사하여 head 태그 안

code-hoon.tistory.com

 

이상입니다.

반응형

안녕하세요 상훈입니다.

프론트엔드 부트스트랩 프레임워크를 사용하고 싶을때,

cdn으로 class와 id에 대한 javascript, css를 적용하는 방법을 포스팅하겠습니다.

 

아래의 링크를 복사하여 head 태그 안에 넣는 방법(1)

<!-- Css -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-uWxY/CJNBR+1zjPWmfnSnVxwRheevXITnMqoEIeG1LJrdI0GlVs/9cVSyPYXdcSF" crossorigin="anonymous">

<!-- Javascript -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-kQtW33rZJAHjgefvhyyzcGF3C5TFyBQBA13V1RKPf4uH+bwyzQxZ6CmMZHmNBEfJ" crossorigin="anonymous"></script>

 

이곳에 들어가 해당되는 태그들을 복사하여 head 태그 안에 넣는 방법(2)

 

Introduction

Get started with Bootstrap, the world’s most popular framework for building responsive, mobile-first sites, with jsDelivr and a template starter page.

getbootstrap.com

 

예시

이와 같이 head 태그 내에 넣는것이다.

반응형

안녕하세요 상훈입니다.

자바스크립트 - 제이쿼리의 cdn을 공유합니다.

 

해당 코드 한줄을 <head> </head> 내에 넣어줍니다.

<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>

 

제이쿼리를 넣은 head 태그 예시

 

 

jQuery cdn link - 클릭시 해당 주소로 이동.

반응형

안녕하세요 상훈입니다.

라라벨에도 역시나 1:1, 1:N, N:N 등의 관계가 있습니다.  (다형성이라고 하던가..)

바로 attach, detach, sync, syncwithOutDetaching 등으로 사용할 수 있는데요,

공부한 바로서는 attach, sync는 해당 값이 존재하지 않으면 새로 생성을 해주고,

detach 등은 해당 값을 제외 모든 값을 삭제하는 역할을 합니다. 

[ 반박환영,, 아무것도 모르는 라린이입니다. ] 

 

항상 그렇듯이 대충 이해는 되는데 전체적으로는 무슨 소린지 잘 모르겠음..
자, 따라해봐~ 하면 이해되는데, 자! 해봐! 하면 못하겠어......

 

라라벨 공홈으로 들어가보니 해당 내용이 존재하였습니다. 차근차근 살펴보겠습니다.

역시나 제목은 다 : 다 였습니다. 다대다ㅋㅋㅋ
그리고 또 역시나 Eloquent 였구요, Eloquent 의 한부분을 조금 더 알아가는 계기가 되었네요.. ㅠ

 

 

사용하는 경우는 : "모델들을 합치는 중간 테이블에 기록을 추가" 하는 역할을 합니다. 

 

 

위에서 사용하였듯이 해당 값을 배열로도 사용할 수 있다고 합니다.

배열로 사용이 가능하다.

 

 

"detach" 메소드를 사용하여 N:N 관계를 삭제할 수 있습니다.

하지만, 두 모델은 모두 DB에 남을 것이라고 한다.

 

마지막으로 "sync, syncwithOutDetaching" 이다.
attach와 유사하게 사용이 가능하다.

이미지 클릭시 해당 링크로 이동

 

 

이상으로,, 그만 알아봅시다.

 

반응형

 

안녕하세요 상훈입니다.

웹페이지에서 title에 적혀져 있는 icon 혹은 image를 변경하는 방법을 포스팅하겠습니다.

 

title 영역에 이미지/icon 표시

 

기본 Format

<link href="이미지경로" rel="shortcut icon" type="image/x-icon">

 

예시)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> title name </title>
    
    <link href="../images/image-example.png" rel="shortcut icon" type="image/x-icon">
    
</head>

 

직접 이미지를 다운로드 받아 경로에 넣고 링크를 해주었습니다. 

 

감사합니다.

반응형

+ Recent posts