私はこれについて興味があります:
MicrosoftのOutlookExpress(またはOutlook、よく覚えていませんが、私はMacユーザーです)では、本当にすばらしいものがあります。一般的なルール:
たとえば、一連のルールを構成して、電子メールを自動的に並べ替えたり削除したりできます。それは信じられないほど強力で使いやすいです。
これらのルールは次のようになりました。
「受信トレイのメールに「foo」、「bar」、または「foobar」を含む件名がある場合は削除してください」
強力なフォーム検証システムに似たものをコーディングする必要があります。開発者は、次のようなルールを簡単に作成できるはずです。
rule: [password_1] is_not_equal_with [password_2]
consequence: show_error '2921'
rule: [firstName] has_less_characters_than '2'
consequence: show_error '1211'
rule: [age] is_numeric, is_smaller_than '13', is_greater_than '130'
consequence: show_error '1522'
rule: [gender] is_equal_with 'female'
consequence: show_group [female_questions]
rule: [termsAndConditionsAccepted] is_not_checked
consequence: show_error '482'
rule: [age] is_less_than 21
consequence: hide_group [income_questions]
さて、私はこれをどのように行うことができるかについていくつかのアイデアを持っています、そして私はそれらを答えとしてここに投稿します。しかし、私が車輪の再発明をする前に:これに似たルールベースの検証システムを開発するための基礎として使用できる書面による概念はありますか?または、そうでない場合、これをどのように行うことができるかについて何か提案はありますか?
上記の例では、角かっこで囲まれたものはすべてhtmlフォーム要素の名前です。アポストロフィ''のすべては、比較するための「ハードコードされた」値です。
定義されたルールは、クライアント側とサーバー側の両方の検証を行うためにPHPコードとJavaScriptコードに変換されます。
これが可能でなければならない機能:
- 条件付きルール:何かAが何かBに依存している
- 値の比較:整数、浮動小数点数、文字列の場合
- 上記の「[gender]is_equal_with'female'」の例のように、フォーム制御ロジックも有効にします。
これはどのように行うことができますか?科学的な観点から、私が考慮しなければならない実体は何ですか?
これの理論的概念はプラットフォームに依存しないと思います。これをPHPとJavaScriptで実装しますが、C++開発者が応答しない理由はありません;-)(私はObjective-Cの人です)