扫码阅读
手机扫码阅读

校验矩阵:提高表单校验的效率和准确性的秘诀

39 2024-03-22

#
产品经理必聊的100个话题



第39期:表单校验

有这样的一个需求——关于名称的校验

● 不超过253个字符

● 可以包含小写字母、数字、. 和 -

● 必须以数字或英文开头

● 必须以数字或英文结尾



有什么样的需求,就有什么样的代码


Business Analysis





当需求这样描述时,大多数开发人员的代码会写成:

这段代码的作用是对名称进行校验,如果名称的长度超过253个字符,则将message置为空字符串。在代码中还有其他的校验逻辑,如果message不为空,则返回message。这段代码的实现方式较为繁琐,而且容易出现遗漏或错误。

为了让@Valid自动执行校验并返回对应的错误消息,理想的代码应该是这样的:

通过@Valid自动的执行校验,并且返回对应的错误消息。那么对应的校验也应该按照这个分类来描述。


为了实现这一目标,我们需要对校验进行分类,并将其与注解进行映射。这样做可以让开发人员更容易地匹配两侧,从而减少工作量和出错的可能性,并且可以更容易地响应需求变更。因此,我们引入校验矩阵。


校验矩阵



Business Analysis






1.什么是校验矩阵

校验矩阵是一种将页面的各个字段列出来,并用统一的表格来列举所有的字段的校验规则的方法。在校验矩阵中,每个字段都包括类型、必须输入、长度、格式、范围、唯一和其他等校验规则。

字段

类型

必须输入

长度

格式

范围

唯一

其他









校验矩阵的主要作用是解决单个书写的校验规则可能会遗漏条件的问题。它的使用场景包括检索条件,例如开始时间不能晚于结束时间。在使用校验矩阵时,需要注意补充校验顺序的说明,以避免重复书写校验规则。

2.校验矩阵注意事项

● 校验规则应该补充校验顺序的说明。

● 有的时候,应用按照字段顺序来校验,有的时候应用会把同样的规则集中起来校验。

● 应该先定义默认顺序,这样就不用反复书写了。

3.校验矩阵案例

正在开发一个网站,并且需要创建一个新的用户注册页面。在这个页面上,需要收集用户的个人信息,如姓名、电子邮件地址、电话号码、密码等。为了确保这些信息的准确性和完整性,需要使用校验矩阵来定义每个字段的校验规则。

下面是一个简单的校验矩阵示例,其中包含了一些常见的校验规则:

4.如果有矩阵以外的校验方式

例如与后端团队合作,使用服务端校验:使用服务端校验来验证用户输入的信息。在这种情况下,可以在前端页面上添加一些基本的校验规则,例如检查必填字段是否为空、检查输入的格式是否正确等,然后将数据发送到后端进行更严格的校验和处理。


通过服务端校验,可以更好地保护用户的隐私和安全,同时也可以避免一些常见的安全问题和漏洞。

原文链接: http://mp.weixin.qq.com/s?__biz=Mzk0MzM2OTQzOA==&mid=2247484536&idx=1&sn=5e00c85077bdc5632a0fdee25854d6fe&chksm=c335b9c9f44230df9aef626d79e1ed74c0d434f1ecc7f7afda4f348adbbd637f4ac4c9a583b8#rd