处理验证的最佳实践

3

我有一个UI界面,其中某些字段是根据其他字段的值是否填写而变为必填的。所以我想知道最佳实践是,这种验证需要在服务器端和UI端都进行,还是只在UI端进行即可。

4个回答

2

客户端和服务器端都应该进行检查。

客户端不应该能够提交不完整的表单。

如果另一个前端开发,比如一个网页,开发人员可能会忘记强制执行这些检查。后端需要能够处理并拒绝无效的表单。


1
验证规则是永远不要相信输入。假设您正在构建一个Web应用程序,至少在第一次访问服务器时进行验证并快速报告错误。原因是用户的行为是出乎意料的,并且客户端JavaScript很容易被破坏。客户端JavaScript应该被视为用户的便利。如果您在许多方面(厚客户端、Web服务等)公开您的服务,则还应在服务中进行验证。

0

前端验证易于实现,用户可以快速得到响应。您需要这个。

如果您想要在后端持久化或执行一些逻辑,则还应在后端进行验证。

Java/JSF Hibernate 示例(后端):

@NotBlank(message = "{contact.firstName.isEmpty}")
@Size(min = 1, max = 255, message = "{contact.firstName.invalid}")
public String getFirstName() {
     return firstName;
}

0

如果您没有使用任何框架,我建议您在UI上验证此内容。这将提高客户的响应能力。 如果您需要在数据库中获得一致的数据,则还需要在服务器端进行验证。

也许考虑使用像Java Server Faces这样的框架。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接