kaima7777
@kaima7777 (77 kkkk)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

vue.jsでメールフォームを作りたいです。

解決したいこと

vue.jsでv-model,v-bind,v-on(必須条件)を使ったメールアドレスフォームを作りたいです。

v-model,v-bind,v-onに関してはある程度理解しましたがv-model,v-bind,v-onこの三つを使ったバリデーション(必須条件)をつかったメールフォームの作り方がわかりません。

完成例
成功画面例.png

メールアドレスを入力し、ボタンをクリックした際にメールアドレスのバリデーションが正規表現だった場合『Success!』と表示し、バリデーションが違う場合は『incorrect email』と表示するものです。

バリデーションはこちらです
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[]\.,;:\s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/

現在の自分のコードはこちらです

スクリーンショット 2022-04-18 22.54.58.png

"a"と"b"に関しましては仮です。

<!DOCTYPE html>
<html lang="ja">
<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>Vue.js入門</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <input  v-bind:type="email">
    <button v-on:click="click">b</button>
    <p>{{message}}</p>
  </div>
  <script>
    var app = new Vue({
    el: '#app',
        data:{
        email:"",
        message:""
        },
        methods: {
            click: function() {
                if(this.email=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/){
                    this.message="a"
                } else {
                    this.message="b"
                }
            }
        }
    })
  </script>
</body>
</html>

自分で試したこと

一通り動画など動画など見てvue.jsについての理解は深めましたが実際にどのようにv-model,v-bind,v-onを駆使して作れば良いのかわかりませんでした。一度答えなど見て見たいのですが、条件と課題を出されただけなので教えてもらいたいです。

0

1Answer

meal ではなくて mail ですね。
message-"a"this.message="a" にしてみたらどうですか? "b" の方も同様に。
ボタンをクリックしたら ab が表示されませんか?
Webブラウザの開発者ツールのコンソールにエラーが表示されていますか?

こちらでも動作確認できるようにコードをマークダウンテキストで貼り付けていただけませんか?
質問記事の編集で貼り付けて更新してください。

0Like

Comments

  1. @kaima7777

    Questioner

    aが表示できました!

    デベロッパーツールにはエラーなしでした!
    コードを更新しました。

Your answer might help someone💌