前提・実現したいこと
フォームより入力された文字列が、あらかじめ定義された配列の要素として存在するかチェックするプログラムを作っています。
存在すれば、確認画面へ飛び、存在しなければ、エラーメッセージを表示するというものです。
発生している問題・エラーメッセージ
該当のソースコードですとエラーメッセージが表示されません。
該当のソースコード
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" charset="utf-8"> </head> <script src="http://code.jquery.com/jquery-3.3.1.min.js" type="text/javascript"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/localization/messages_ja.min.js"></script> <script src="http://js/init.js" type="text/javascript" charset="utf-8"></script> <body> <div> <p> <input type="text" name="name" class="name"> </p> <p> <input type="submit" class="submit" value="Submit"> </p> </div> </body> <script type="text/javascript"> function existCheck(){ //入力フォームより入力された企業名 var name=""; //登録された企業を配列に格納 var nameArr = ["ABC㈱","㈱DEF","GHI工業","JKL製作所"]; //入力した値が存在するかチェック var sch = nameArr.indexOf(name);//配列に存在しない値であれば-1を返す // $(function(){ $jQuery.validator.addMethod('my_rule',function(sch,element){ if(this.optional(element)){ return true; } if(sch == -1){ return false; } return true; },'存在しません。'); $("#form1").validate({ rules: { name: { ruquired: true, my_rule: true } } }); } } </script> </html>
試したこと
<script></script>部分のプログラムだけ下の雛形で試したところ、フォームの横にメッセージが出力されました。html/jQuery/javascript
1【validation雛形】 2 3$(function() { 4 5 $.validator.addMethod('my_rule', function(value, element) { 6 7 if ( this.optional( element ) ) { 8 return true; 9 } 10 if (value == '石橋') { 11 return false; 12 } 13 return true; 14 }, '存在しません'); 15 $("#commentForm").validate({ 16 rules: { 17 name: { 18 required: true, 19 my_rule: true 20 } 21 } 22 }); 23},jQuery) 24
補足情報(FW/ツールのバージョンなど)
実行時環境
google web maker