2

私は、開発中の Web アプリケーションでリッチ テキスト エディター (tiny_mce) をかなり広く使用しています。理解できない問題は、生成されたコンテンツの長さがデータベース フィールドに収まるようにユーザー入力を制限する方法です。リッチテキスト以外のコンテンツに通常使用する文字カウンターは、ユーザーが舞台裏で生成されている HTML を見ない (または知らない、または気にしない) ため、ほとんど役に立ちません。つまり、入力を 100 文字に制限し、ユーザーが 99 文字を入力した場合、舞台裏でコンテンツを構造化するために使用される html タグが原因で、文字制限を超える可能性があります。

私が見るオプションは次のとおりです。

  • 何もせず、最善を尽くしてください。明らかに、実際にはオプションではありません。データベース (この場合は mysql) に保存しようとすると、挿入が失敗する可能性が高くなります。
  • 生成された HTML の長さを検証し、許可された長さを超えている場合はユーザーにメッセージを提供します。これは、知る限りテキスト入力の要件を満たしているユーザーを混乱させるでしょう。実際には99文字しか入力していないのに制限を超えたと彼に言うと、サーバーは混乱/激怒するだけです
  • 絶対に超えないことを期待して、データベース フィールドを非常に大きくします。悪い考えのようです...

これは、よく発生する問題です。ここでの最善の解決策は何ですか?

4

1 に答える 1

2

フォームの送信時に、送信されるフィールドの長さについて Javascript チェックを行います。

あなたのオプションについて:

Q: 何もせず、最善を尽くします。

A:うまくいきません。何かに挑戦する人もいるでしょう

Q: 生成された HTML の長さを検証し、許可された長さを超えている場合はユーザーにメッセージを提供します。

A:最近、似たような状況に陥りました。制限が 10,000 であるという静的メッセージをページに表示しましたが、実際には 50,000 でした。これは、誰かが MS Word からコピーして貼り付けるまで、数か月間機能しました。ユーザーは 5,000 文字を見ましたが、100,000 を超える方法でエンコードされました

Q: 絶対に超えないことを期待して、データベース フィールドを非常に大きくします。悪い考えのようです...

A:データベースとバージョンによっては、これは許容できる場合もありますが、理想的ではありませんが、許容できる場合もあります。

于 2012-12-05T17:32:50.660 に答える