環境 HTML,javascript,PHP,cakephp3
現在入力フォームを作成しています。
そのテキストボックスの入力値チェックを行いたいです。全角文字のみ入力できるといった。
ただ少し特殊で、このテキストボックスはFormタグに囲まれておらず。またボタンもsubmitボタンではありません。そのためinputタグのpattern属性でのエラーチェックを使うことができませんでした。
そこで、
pattern属性を使わず、
HTML,javascript,PHP,cakephp3などでエラーチェックをする方法はあるでしょうか?
ボタンを押したタイミング、あるいは、カーソルを失ったタイミングでエラーチェックをしたいと思っています。
cakephp3のFormクラスを使ったバリデーションもFormタグ、submitボタンがないためできませんでした。
もしわかる方がいらっしゃいましたらお教え頂けると幸いです。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
HTMLのpattern属性ののようなエラーメッセージの出し方をしたいと思っていました。
とあるので、
html
1<body> 2<input type="text" id="sample" pattern="\d+"> 3<p>↑フォームに属さないinput</p> 4</body>
javascript
1$("#sample").get(0).reportValidity()
とやればいいです
ブラウザのバリデーションエラー画面が出せます
投稿2016/03/30 14:17
総合スコア633
0
ベストアンサー
input.reportValidity()
で期待通りの動作しました。
HTML
1<script> 2'use strict'; 3function handleInput (event) { 4 event.target.reportValidity(); 5} 6 7function handleBlur (event) { 8 var input = event.target; 9 10 setTimeout(input.reportValidity.bind(input), 0) 11} 12 13document.addEventListener('focusout', function handleFocusout (event) { 14 var input = event.target; 15 16 if (input.id === 'sample') { 17 input.reportValidity(); 18 } 19}, false); 20</script> 21<label>input <input type="text" pattern="[^\u0000-\u007F]*" oninput="handleInput(event);"></label> 22<label>blur <input type="text" pattern="[^\u0000-\u007F]*" onblur="handleBlur(event);"></label> 23<label>focusout <input id="sample" type="text" pattern="[^\u0000-\u007F]*"></label>
(更新履歴)
- 2016/03/31 01:40
input.checkValidity()
をinput.reportValidity()
に修正 - 2016/03/31 02:30
pattern
属性から^$
を削除。blur, focusout
イベントのコード追加。
Re: k499778 さん
投稿2016/03/30 12:36
編集2016/03/30 17:31総合スコア18194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/30 16:53

0
idを与えて、キーボード押下、またはフォーカスを外したタイミングで、javascriptで入力値をチェックしてやれば可能だと思いますが、いかがでしょうか?
投稿2016/03/30 11:59

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/30 12:14
2016/03/30 13:03

退会済みユーザー
2016/03/30 15:05

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/30 15:29
2016/03/30 15:50
2016/03/30 16:05 編集
2016/03/30 16:10
2016/03/30 16:16
2016/03/30 23:04
2016/03/30 23:56
2016/03/31 15:02