入力文字数

このサンプルでは検証コントロールの入力文字数チェックを設定しています。

既定の検証規則に入力文字数チェックについて解説します。 概要 コントロールに入力値の長さが設定条件に満たすかどうかを検証するには、入力文字数チェックを使用できます。設定した文字数の条件に満たしていない場合は検証に失敗します。この検証規則が有効に動作する入力コントロールは以下の通りです。 コントロール 検証 GcTextBox 編集状態のテキストを検証します。 GcMultiLineTextBox 編集状態のテキストを検証します。 GcMask 編集状態のテキストを検証しますが、リテラル(例: “____”)は除外します。 GcComboBox 編集状態のテキストを検証します。 GcRichTextEditor 編集状態のテキストを検証します。 使用方法 ValidateType列挙型に以下のメンバーが追加されました。 検証規則 説明 必要パラメータ EqualToInputLength 設定の文字数と一致するかどうかをチェック inputLength LessThanInputLength 設定した文字数に未満かどうかをチェック inputLength LessThanOrEqualToInputLength 設定した文字数以下かどうかをチェック inputLength GreaterThanInputLength 設定した文字数に超過かどうかをチェック inputLength GreaterThanOrEqualToInputLength 設定した文字数以上かどうかをチェック inputLength BetweenMinAndMaxLength 設定した最低文字数を超過、最大文字数に未満かどうかをチェック inputMinLength、inputMaxLength BetweenOrEqualToMinAndMaxLength 設定した最低文字数以上、最大文字数以下かどうかをチェック inputMinLength、inputMaxLength
import '@mescius/inputman/CSS/gc.inputman-js.css'; import { InputMan } from '@mescius/inputman'; InputMan.appearanceStyle = InputMan.AppearanceStyle.Modern; const gcTextBox1 = new InputMan.GcTextBox( document.getElementById('gcTextBox1'), { text: 'あいうえお', } ); const gcTextBox2 = new InputMan.GcTextBox( document.getElementById('gcTextBox2'), { text: 'あいうえ', } ); const gcTextBox3 = new InputMan.GcTextBox( document.getElementById('gcTextBox3'), { text: 'あいうえ', } ); const gcTextBox4 = new InputMan.GcTextBox( document.getElementById('gcTextBox4'), { text: 'あいうえお', } ); const gcTextBox5 = new InputMan.GcTextBox( document.getElementById('gcTextBox5'), { text: 'あいうえお', } ); const gcTextBox6 = new InputMan.GcTextBox( document.getElementById('gcTextBox6'), { text: 'あいう', } ); const gcTextBox7 = new InputMan.GcTextBox( document.getElementById('gcTextBox7'), { text: 'あいうえおかき', } ); var validator; const update = () => { if (validator) { validator.destroy(); } validator = new InputMan.GcValidator({ items: [ { control: gcTextBox1, ruleSet: [ { rule: InputMan.ValidateType.EqualToInputLength, inputLength: 5, successMessage: '5文字です', failMessage: '5文字を入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox2, ruleSet: [ { rule: InputMan.ValidateType.GreaterThanInputLength, inputLength: 5, failMessage: '5文字超に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox3, ruleSet: [ { rule: InputMan.ValidateType.GreaterThanOrEqualToInputLength, inputLength: 5, failMessage: '5文字以上に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox4, ruleSet: [ { rule: InputMan.ValidateType.LessThanInputLength, inputLength: 5, failMessage: '5文字未満に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox5, ruleSet: [ { rule: InputMan.ValidateType.LessThanOrEqualToInputLength, inputLength: 5, successMessage: '5文字以下です', failMessage: '5文字以下に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox6, ruleSet: [ { rule: InputMan.ValidateType.BetweenMinAndMaxLength, inputMinLength: 3, inputMaxLength: 6, failMessage: '3文字超、6文字未満に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, }, { control: gcTextBox7, ruleSet: [ { rule: InputMan.ValidateType.BetweenOrEqualToMinAndMaxLength, inputMinLength: 3, inputMaxLength: 6, failMessage: '3文字以上、6文字以下に入力してください', }, ], validateWhen: InputMan.ValidateWhen.Typing, } ], defaultNotify: { fail: { tip: { style: 'text', direction: 'bottom', position: 'start', }, }, success: { tip: { style: 'flatpanel', direction: 'bottom', position: 'start', }, }, }, }); validator.validate(); }; update();
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>検証コントロール - 検証規則 - 既定の検証規則</title> <!-- SystemJS --> <script src="node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> window.onload = function() { System.import('./src/app'); } </script> </head> <body> <div class="flexbox"> <div> 検証規則:5文字<br /> <input id="gcTextBox1" /> </div> </div> <br /><br /> <div class="flexbox"> <div> 検証規則:5文字超<br /> <input id="gcTextBox2" /> </div> <div> 検証規則:5文字以上<br /> <input id="gcTextBox3" /> </div> </div> <br /><br /> <div class="flexbox"> <div> 検証規則:5文字未満<br /> <input id="gcTextBox4" /> </div> <div> 検証規則:5文字以下<br /> <input id="gcTextBox5" /> </div> </div> <br /><br /> <div class="flexbox"> <div> 検証規則:3文字超、6文字未満<br /> <input id="gcTextBox6" /> </div> <div> 検証規則:3文字以上、6文字以下<br /> <input id="gcTextBox7" /> </div> </div> </body> </html>
System.config({ transpiler: 'plugin-babel', babelOptions: { es2015: true }, meta: { '*.css': { loader: 'css' } }, paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { '@mescius/inputman': 'npm:@mescius/inputman/index.js', '@mescius/inputman/CSS': 'npm:@mescius/inputman/CSS', 'css': 'npm:systemjs-plugin-css/css.js', 'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel/systemjs-babel-browser.js' }, // packages tells the System loader how to load when no filename and/or no extension packages: { src: { defaultExtension: 'js' }, "node_modules": { defaultExtension: 'js' }, } });