
我之前学习了如何创建表单并验证它,然后将表单数据存储在数据库中。今天,我学习了如何从表单验证代码中提取 Validator 类,使其可重用且模块化。
介绍
验证器类是一种将检查用户输入是否正确的函数分组在一起的方法。它有助于确保用户输入的数据符合某些规则或标准。
纯函数
纯函数是不依赖于外部世界的状态或值的函数。换句话说,一个纯函数:
- 给定相同的输入,始终返回相同的输出。
- 没有副作用,这意味着它不会修改任何外部状态。
- 不依赖于任何外部状态,仅依赖于其输入参数。
验证器类
Validator 类包含用于验证输入数据的纯函数。在今天的代码中,函数是:
- 字符串():
检查输入值是否是指定长度范围内的字符串。
- 使用trim()删除空白字符
- 使用 strlen() 检查输入数据的长度
- 电子邮件(): 使用 filter_var 函数验证电子邮件地址。
= $min && strlen($value) <= $max;
}
公共静态函数电子邮件($值){
返回filter_var($value, FILTER_VALIDATE_EMAIL);
}
}
使用验证器类
要使用验证器类,我们将其包含在 PHP 文件中,并使用 Class Name::Method Syntax 调用其方法。然后我们可以使用条件语句来检查输入数据是否有效。例如:
如果电子邮件有效,我们可以将用户移至下一个屏幕。否则,我们可以显示错误消息。
如果给定的电子邮件正确,则继续执行下一个代码。如果输入主体有效,我们可以将其插入数据库。否则,我们可以显示错误消息。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { $错误= []; if (!Validator::string($_POST['body'], 1, 1000)) { $errors['body'] = '正文不能超过 1,000 个字符。'; } 如果(空($错误)){ $db->query('插入注释(body, user_id) VALUES(:body, :user_id)', [ 'body' => $_POST['body'], '用户id' => 1 ]); } } 需要“views/note-create.view.php”;使用验证器类的好处
使用验证器类有几个好处,包括:
- 可重用性:验证器函数可以在整个应用程序中重用。
- 模块化:验证器逻辑与主应用程序代码分离。
- 更容易维护:可以更新或修改验证器功能,而不影响主应用程序代码。
结论
通过提取一个简单的验证器类,我们可以确保我们的用户输入数据在整个应用程序中得到一致的验证。
我希望你已经清楚地理解了这一点。











