2

我正在开发的 Web 应用程序中广泛使用富文本编辑器 (tiny_mce)。我似乎无法理解的一个问题是如何限制用户输入,以便生成的内容的长度适合我的数据库字段。我通常用于非富文本内容的字符计数器非常无用,因为用户看不到(或知道或关心)在幕后生成的 HTML。即,如果我将输入限制为 100 个字符并且用户键入 99 个字符,由于用于在幕后构建其内容的 html 标签,他们仍然可能超过字符限制。

我看到的选项是:

  • 什么都不做,希望最好。显然不是一个真正的选择。尝试保存到数据库(在这种情况下为 mysql)时,插入很有可能会不正常地失败。
  • 验证生成的 HTML 的长度,如果超过允许的长度,则向用户提供消息。这将使尽其所知已满足文本输入要求的用户感到困惑。告诉他他已经超过了限制,而实际上他只输入了 99 个字符,只会让人感到困惑/激怒
  • 让数据库字段超大,希望永远不会被超过。好像是个坏主意...

这应该是一个经常遇到的问题。这里最好的解决方案是什么?

4

1 回答 1

2

当表单提交时,对提交的字段的长度进行 Javascript 检查。

至于你的选择:

问: 什么都不做,希望最好。

答:行不通。有些人会尝试一些东西

问: 验证生成的 HTML 的长度,如果超过允许的长度,则向用户提供消息。

A:我最近也遇到过类似的情况。我在页面上放了一条静态消息,说限制是 10,000,但我实际上检查了 50,000。这工作了几个月,直到有人从 MS Word 中复制和粘贴。用户看到了 5,000 个字符,但它的编码方式超过了 100,000

Q: 数据库字段超大,希望永远不会被超过。好像是个坏主意...

答:根据您的数据库和版本,这可能是可以容忍的,不是很理想,但可以容忍。

于 2012-12-05T17:32:50.660 回答