質問: テキストボックスの入力テキストを数値に変換して使用する場合に あらかじめテキストボックスに入力制限(数字以外入力不可)を設けるか、 全ての入力を許容して入力テキストを入力毎または任意タイミングで検証して エラーにするかのパターンが考えられます。 これは好みの問題なのかもしれませんが 自分の中で判断基準が不透明であるためどちらを採用すべきなのか迷っています。 一般的にはどちらを採用すべきなのでしょうか? 両方採用すべきなのかもしれませんが、そこまで必要か疑問にも思えます。 もし、ガイドライン的なものがあれば教えていただけますでしょうか? プログラミング言語は問いません。 (当方はWPFでアプリケーションの開発しております。)
回答: 入力値検証と入力値制限は目的が異なると思います。 * 入力値検証はシステム(プログラム)を正常に動作させるために必須です。 ※システムによっては入力制限を行うことで入力値検証を省略(入力値制限で代用)可能な場合もあると思います。 が、この場合でも「入力値検証を省略(入力値制限で代用)する」ことはあくまで例外であることを認識したうえで、要件・予算・納期(開発期間)などの条件により省略の是非を判断すればいいでしょう。 * 入力制限はユーザビリティ向上を目的としており、入力値検証で行っている制限のもとで利用者に使いやすいI/Fを提供するために実施すればいいです。 ※ リストボックスからの選択、チェックボックスやラジオボタンで選択なども広い意味では入力制限にあたると思います。入力値検証を通る入力をユーザーに負担にならないように如何に入力させるかが入力制限(UI)の胆ですね。