私はあなたが問題を間違った方法で見ていると思います。
スクリプトを実行するための一般的なフレームワークは、任意のperlまたはpythonスクリプトへの引数の型チェックに役立つ可能性はありません。これらは単なる文字列であるため(sys.argv
/$ARGV
またはCGI環境変数として渡されるかどうかに関係なく)。
しかし、これをパーツに分割すると、それらはすべて非常に簡単で、ほとんど直交しています。
まず、フィールドのタイプチェックをどのように行いますか?HTML 5が必要な場合は、フィールドに適切なタイプとその他のパラメーターを入力するだけです。
<input name="foo" type="number" required>
古いブラウザをサポートする必要がある場合は、「HTMLフォーム検証」または「JSフォーム検証」をグーグルで検索すると、作成する必要のあるJSを単純化するか、ストックを添付できるようにすることで、何百ものライブラリが見つかります。名前またはCSSスタイルによるバリデーター。例:
// ...
<input name="foo" id="foo">
</form>
<script>
// ...
Validator.add("foo", type="number", required=true)
</script>
いつものように、jQueryは非常に役立ちます。HTML5と同じものを書くことができるいくつかの解決策があります。このような記事は、最初から作成するのがいかに簡単かを示しています。または、さらに簡単に、Validationプラグインを使用するだけなので、必要なJSは1行だけです。
スクリプトをトリガーするフォームを設定するために、ストックCGIフレームワークは箱から出してこれを行います。
スクリプトがstdoutをユーザーに返すようにするために、これはCGIにも組み込まれています。ただし、text/htmlではなくcontent-typetext/ plainを送信するようにサーバーを構成してください(スクリプトが含まれるディレクトリ、*。cgi、*。py / *。pl、またはその他の適切なもの)。
それで、何が残っていますか?たとえば、データベースマッピングスクリプト名からタイプ検証文字列にフォームを自動的に生成しますか?繰り返しになりますが、タイプ文字列形式からフォームを構築する汎用ライブラリを持っている人は誰もいません。しかし、jQueryを使用して作成するのは非常に簡単です。空のフィールドセットとアクションを使用してフォームを作成するだけです。の#(document).ready
(またはオプションメニューから選択するなどして)、適切な検証属性を持つフィールドを空のフィールドセットに追加します。(または、単純なスクリプトベースの検証ライブラリを使用している場合は、他の形式を使用する代わりに、タイプ記述子を直接使用するようにライブラリコードを変更するだけです。)ここでaction属性を設定することもできます( HTML 5または検証プラグインを使用するため、カスタム送信スクリプトは必要ありません)、またはカスタム送信スクリプトからURLをヒットするだけです(すでに必要な方法で検証を行っている場合)。
そうです、ここに書くべきコードがいくつかあります。ただし、どのソリューションでもコードが必要になります。タイプを何らかの方法でフィードする必要があります。一般的な汎用ライブラリ(たとえば、Validationプラグインを使用したjQuery)を使用すると、おそらくこれ以上のコードは必要ありません。特別な目的のフレームワークがあります。カスタマイズ性と保守性が大幅に向上しているだけでなく(jQueryの経験がある人を見つけるのは、目的の狭いライブラリの経験がある人よりもはるかに簡単です)。