質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

バリデーション

Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

5569閲覧

vue.jsで入力されたURLの判定方法

study_111

総合スコア82

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

バリデーション

Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/08/04 01:53

vue.jsにおいて、入力されたURLが「URLであるかどうか」を判定するには、どうのようにすれば良いでしょうか。

<template> <div> <h1>test-site</h1> <h5>test</h5> <p v-if="errors.length"> <b>Please correct the following error(s):</b> <ul> <li v-for="(error,index) in errors" :key="index">{{ error }}</li> </ul> </p> <form action="" method="get" v-on:submit.prevent="submit"> <input type="text" v-model="inputUrl" name="url" placeholder="http://example.com"> <button type="submit">送信</button> </form> </div> </template> <script> import axios from 'axios' export default { data() { return { erros:[], inputUrl:'', } }, methods: { submit(){ if(!this.inputUrl){ this.erros.push('ウェブサイトのURLを入力して下さい (例: http://example.com') } } }, } </script>

現状、未入力の場合のバリデーションのみ実装している状態なのですが、正しい形式のURLでなかった場合もエラーメッセージを表示する形としたいと考えています。
バリデーションの形としては、スキーマ部分が「http://」もしくは「https://」であるかどうかでチェックをかけるだけで良いかなと考えています。
インターネットで調べたのですが、解決に繋がる記事が見当たらなかった為、どなたかご助言頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

現状は、Vue.jsのmethodsに以下の関数を作成し、使用することでURLのバリデーションを行う形で実装する形としたいと思います。

checkFormat(url){ var re = /^http(|s)://.+/ return re.test(url); }

投稿2020/08/05 00:10

study_111

総合スコア82

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Qiita記事が参考になりそうですね。Vueによる実装

inputにURLしか入らないようにしたい&リアルタイムに制限をかけたい

投稿2020/08/04 02:37

mako1972

総合スコア383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

study_111

2020/08/04 07:58

ご回答ありがとうございます。 初めから入力させないように、pattern属性を使用した形にするというのも良いかもしれません。 こちらの方法も検討してみたいと思います。
mako1972

2020/08/04 08:08

他の方の回答をお待ちくださいませ・・。
YufanLou

2020/08/04 23:45

input 要素の pattern 属性は今ほぼどこにも支持されています: https://caniuse.com/#feat=input-pattern そして、記事のように methods の opt を使っていると、pattern 属性が支持されていなくても動けます。 StackOverflowの経験によれば、記事を参考する際に、回答の中にも抜粋する方がいいと思います。
study_111

2020/08/04 23:50

@YufanLouさん ありがとうございます。 今回は、使用の問題によりpattern属性の採用は見送ることとなったのですが、mako1972さんの記事を参考にプログラム側で、正規表現を使用し、バリデーションを行うこととしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問