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

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

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

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

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

624閲覧

chrome の自動入力で vue.jsのvalidationが引っかかる。

yukawa_

総合スコア13

Vue.js

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

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/08/12 05:10

イメージ説明

現状laravel vue.js(vuetify)を用いたspaの構築をしているのですが、
login画面にアクセスした時にchromeの機能でemail addressとパスワードが自動入力されるのですが、
その時にvalidationに画像のように引っかかってしまいます。
しかし一回画面をどこでもクリックすると以下のように通常通り表示されます。

イメージ説明

chromeの自動入力機能を切らずに、
validationが最初に引っかからないようにするにはどのようなコードが必要になりますか??

以下がソースコードになります。

LoginForm.vue

<template> <v-app> <v-main> <campaign-component/> <header-component/> <menu-component/> <h2 id="login-title" >ログイン</h2> <div id="login-container" > <div id="content-wrapper" > <div id="login-form"> <h3>ご登録済みのお客様</h3> <div id="login-divider" > <v-divider></v-divider> </div> <p class="login-explanation" >メールアドレスとパスワードを入力してログインしてください。</p> </div> <form @submit.prevent="login" > <p v-if="isInValidEmail" class="error">有効なメールアドレスを入力してください</p> <v-row> <label id="email-label" for="email-form" >メールアドレス</label> <v-col cols="12" sm="8"> <v-text-field id="email-form" dense autocomplete="off" v-model="email" outlined clearable ></v-text-field> </v-col> </v-row> <p v-if="isInValidPassword" class="error">パスワードは8文字以上で入力してください</p> <v-row> <label id="password-label" for="password-form" >パスワード</label> <v-col cols="12" sm="8" > <v-text-field id="password-form" dense v-model="password" outlined v-bind:type="showPassword ? 'text' : 'password'" @click:append="showPassword = !showPassword" v-bind:append-icon="showPassword ? 'mdi-eye' : 'mdi-eye-off'" ></v-text-field> </v-col> </v-row> <router-link to='/reset-password'> <p id="remember-password" >パスワードをお忘れですか?</p> </router-link> <div class="login-button" > <v-btn class="py-3 px-15 font-weight-bold white--text" color="black" @click="login" :disabled="isInValidEmail || isInValidPassword" > ログイン</v-btn> </div> </form> <a href="/auth/redirect"> <v-img src="/img/google_button.png" max-width="200" > </v-img> </a> <a href="/github/login"> <v-img src="/img/github_button.png" max-width="200" > </v-img> </a> </div> <div id="register-link" > <h3>初めてご利用のお客様・会員以外の方</h3> <div id="register-divider" style='height:10px; width:470px; margin-top: 10px; margin-bottom: 15px;'> <v-divider></v-divider> </div> <p>初めてご利用のお客様は、こちらから会員登録を行ってください。<br>会員登録しておくと便利に買い物ができるようになります。</p> <div id="register-button" > <router-link to = "/register"> <v-btn class="py-3 px-15 font-weight-bold white--text" color="black" >新規登録</v-btn> </router-link> </div> </div> </div> <footer-component/> </v-main> </v-app> </template> <script> export default { data(){ return { showPassword : false, email: null, password: "", errors: [], } }, methods: { login() { axios.get('sanctum/csrf-cookie',{ withCredentials: true }).then(response => { axios.post('/login', { email: this.email, password: this.password },{ withCredentials: true }) .then(response => { console.log(response); this.$router.push("/user-home"); }) .catch(error => { this.errors = error.response.data.errors; }); }); }, }, computed:{ isInValidEmail(){ const reg = new RegExp(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/); return !reg.test(this.email); }, isInValidPassword(){ if(this.password.length < 8){ return true }else{ return false } }, } } </script> <style lang="scss" scoped> #login-title{ margin-top:20px; margin-left:200px; } #login-container{ display: flex; } #content-wrapper{ margin:40px 100px 200px 250px; } #login-divider{ width:470px; margin-top:10px; margin-bottom: 15px; } #login-explanation{ padding-bottom: 20px; } #email-label{ margin:20px; font-weight:bold; font-size:13px; } #password-label{ margin:20px; font-weight:bold; font-size:13px; } #remember-password{ font-size:10; text-align: center; } .login-button{ text-align:center; } #register-link{ margin:40px 400px 80px 35px; } #register-button{ text-align:center; margin-top:60; } </style>

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問