gpt4 book ai didi

php - 异常应该用于表单验证吗?

转载 作者:可可西里 更新时间:2023-11-01 13:18:14 26 4
gpt4 key购买 nike

这可能是一个 n00bish 问题,但无论如何。可以使用异常进行表单验证吗?假设我有一个表单要求用户提供他们的姓名和电子邮件,执行以下操作是否正确?

try {
if (empty($_POST["name"])) {
throw new UserRegistrationException("Your name cannot be empty.");
}

if (filter_var($_POST["email"])) {
throw new UserRegistrationException("Invalid email");
}

// Save new user into database
} catch (UserRegistrationException $e) {
// Show errors on screen
}

此外 - 如果这实际上是正确的方法 - 如果用户提交两者 一个空名称和一个无效的电子邮件,那么这两个异常都会执行还是只执行第一个出现的异常(在这种情况下是名字 one)?

我正在使用 PHP顺便说一下。

最佳答案

我个人喜欢对任何应该停止或改变程序流程的事情使用异常。换句话说,如果对特定字段的验证改变了数据的处理方式,或者需要重复该过程,那么我总是使用异常来处理错误。

如果它是微不足道的,或者我只是在编译错误消息列表,那么我不会触发异常。

回答问题,不能同时抛出两个异常。到达的第一个 throw 语句将被抛出。这并不是说有时作为另一种类型的异常重新抛出没有意义。

关于php - 异常应该用于表单验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com