/** * WP_団体ログインフォーム */ class WpGroupLoginJsForm { /** * コンストラクタ */ constructor() { /** ユーザID */ this.group_id = ""; /** メールアドレス */ this.mail_address = ""; /** パスワード */ this.password = ""; // コントロールクリア this.setControlStyle("mail_address", "border: 1px solid #ccc;"); this.setControlStyle("password", "border: 1px solid #ccc;"); } /** * フォームデータを設定 */ setFormData() { var elm_mail_address = document.getElementById('vol_form').mail_address; if (elm_mail_address != null) { this.mail_address = elm_mail_address.value; } var elm_password = document.getElementById('vol_form').password; if (elm_password != null) { this.password = elm_password.value; } } /** * バリデーション */ validate() { let errInfo = []; // 必須チェック if (this.mail_address == "") { errInfo.push(["mail_address", "メールアドレスを入力してください。"]); } if (this.password == "") { errInfo.push(["password", "パスワードを入力してください。"]); } // 桁数チェック if (errInfo.length == 0) { if (this.group_id.length > 32) { errInfo.push(["group_id", "ユーザIDの文字数が大きすぎます。"]); } if (this.mail_address.length > 256) { errInfo.push(["mail_address", "メールアドレスの文字数が大きすぎます。"]); } if (this.password.length > 32) { errInfo.push(["password", "パスワードの文字数が大きすぎます。"]); } } // 入力形式チェック if (errInfo.length == 0) { if (validMailAddress(this.mail_address) != true) { errInfo.push(["mail_address", "メールアドレスの入力形式が正しくありません。"]); } if (validPasswd(this.password) != true) { errInfo.push(["password", "パスワードの入力形式が正しくありません。"]); } } // 範囲チェック if (errInfo.length == 0) { } // 相関チェック if (errInfo.length == 0) { } // エラー情報設定 errInfo.forEach(function(err) { this.setControlStyle(err[0], "border: 1px solid red;"); }, this); return errInfo; } /** * コントロールにスタイルを適用する */ setControlStyle(ctrlName, style) { let ctrls = document.getElementsByName(ctrlName); ctrls.forEach(function(ctrl) { ctrl.style = style; }); } }