0

假设我有几个 Web 表单要实现。表单包含标准问候语、验证消息(例如“缺少姓名”、“电子邮件地址无效”)、错误(例如“临时处理错误”)等。

从 HTML 中提取所有这些文本消息并将其存储在外部文本文件中以便非技术人员可以编辑文本是否有意义?

他们说编辑文本文件比编辑 HTML 更容易。另一方面,我担心这会使解决方案复杂化。该领域的最佳实践是什么?

4

2 回答 2

1

我正在使用一个 java webapp,它使用映射到 *.properties 文件中的字符串的键。

我注意到,如果您正在搜索“该字段标签在哪里”某个很酷的字段“,则支持此类代码会更加困难:

首先,您必须找到密钥(好的,您得到该字符串的密钥是“submit.button.text”),然后您必须找到代码中实际使用的密钥。

于 2012-10-15T11:49:25.313 回答
1

这取决于情况。如果文本经常非技术人员编辑,则将文本移动到结构简单的单独文件中可能是有意义的。否则,确实会使事情复杂化。

通常,服务器端模板引擎用于从多个不同的资源(例如,HTML 模板文件、数据库、配置文件等)构建页面。使用什么类型的资源和格式取决于您并取决于具体情况。例如,您可以将错误文本存储在JSON格式的文件中,如下所示:

{
    "name" : {
        "minlength" : {
            "value": 2,
            "error": "Name field must contain at least 2 characters"
        },
        "maxlength" : {
            "value": 255,
            "error": "Name field must contain not more than 255"
        }
    },
    "email" : {
        "pattern" : {
            "value": "some_regexp_for_email_validation",
            "error": "Please input a correct e-mail address"
        }
    }
}

特别是在 PHP 中,可以使用json_decode()方法读取 JSON 格式。

JSON 的替代方案是 XML(尽管它通常更难使用)。

顺便说一句,提供一个 Web 界面来为非技术人员编辑表单错误规则和文本可能是有意义的。然后对不应该知道它们的人隐藏实施细节。所以你可以使用任何你想要的技术部分,而编辑器只会看到一个带有文本字段的可用 GUI。

您可能还对使用现成的服务器端数据验证解决方案感兴趣,例如Zend Validator

于 2012-10-15T12:04:31.377 回答