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

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

新規登録して質問してみよう
ただいま回答率
85.46%
バリデーション

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2899閲覧

フォームエラーメッセージ、英語のバリデーションを変更したい

wing283

総合スコア123

バリデーション

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/09/30 06:01

フォームのエラーが「Please enter a valid email address.」と表示されてしまいます。
日本語にしたいです。
出来れば任意の文章にしたいです。
以下のコードを使用しています。

jqueryのライブラリはこちらgithub

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"> <title></title> <link rel="stylesheet" href="css/jquery.steps.css"> <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script> <script src="js/jquery.cookie-1.3.1.js"></script> <script src="js/jquery.steps.js"></script> </head> <body> <form id="example-form" action="#" class=""> <p class="error"></p> <input type="email" name="email" placeholder="info@hogehoge.com" id="email"> <button type="submit" value="送信">送信</button> </form> <script> jQuery(function() { (function ($){ var form = $("#example-form"); form.validate({ errorPlacement: function errorPlacement(error, element) { element.before(error); }, rules: { confirm: { required: true } }, errorPlacement: function (err, elem) { err.appendTo($('p.error')); } }); })(jQuery); }); </script> </body> </html>

試したこと①
バリデーションエラーの言語設定

var email = document.getElementById("email"); email.addEventListener("keyup", function (event) { if(email.validity.typeMismatch) { email.setCustomValidity("メールアドレスだってばよ!"); } else { email.setCustomValidity(""); } });

試したこと②
クライアント側のフォームデータ検証

const email = document.getElementById("email"); email.addEventListener("input", function (event) { if (email.validity.typeMismatch) { email.setCustomValidity("I am expecting an e-mail address!"); } else { email.setCustomValidity(""); } });

どちらもできませんでした...
すみません、教えてくださいm(__)m

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

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

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

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

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

guest

回答2

0

ベストアンサー

jquery.validateは機能とメッセージの拡張ができます

javascript

1<script> 2$.extend( 3 $.validator.messages, { 4 email:"メールアドレスだってばよ!", 5 }); 6$.extend($.validator.methods, { 7 "data-validate":function(val,elem){ 8 var ret=false; 9 switch($(elem).attr("data-validate")){ 10 case "email": 11 var email=$.validator.methods.email; 12 optional=function(){}; 13 email.bind(optional); 14 ret= email(val,elem); 15 break; 16 } 17 return ret; 18 }, 19}); 20$(function(){ 21 $("#example-form").validate(); 22}); 23</script> 24<form id="example-form" action="#" class=""> 25<p class="error"></p> 26<input type="email" name="email" placeholder="info@hogehoge.com" id="email" data-validate="email"> 27<button type="submit" value="送信">送信</button> 28</form>

投稿2021/09/30 06:51

yambejp

総合スコア115010

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

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

wing283

2021/09/30 08:10

いつもありがとうございます!! やりたかったことができました!! ありがとうございました!!
guest

0

「Please enter a valid email address.」と出しているのは jquery-validate の機能で、試していらっしゃるemail.setCustomValidity()で設定しているのは、ブラウザ組み込みのフォーム検証機能です。

前者のメッセージを変えるには、rules errorPlacement に加え、messagesvalidate() に渡す必要があります。

投稿2021/09/30 06:22

int32_t

総合スコア21008

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

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

wing283

2021/09/30 08:09

なるほど!!そうだったんですね! ご教授いただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問