gpt4 book ai didi

php - 在哪里验证用户输入?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:56 25 4
gpt4 key购买 nike

<分区>

我正在使用面向对象的方法开发一个新的应用程序,其中涉及一些 REST,我没有使用任何框架。

我的问题是在如下 setter 中验证用户输入的最佳位置在哪里:

public function setSalary($salary)
{
if (Validator::money($salary))
$this->salary = $salary;
else
return 'Error that is an invalid number';
}

或者在 Controller 中?

public function updateSalary()
{
$errors = array();

if (Validator::money($_POST['salary']))
$salary = $_POST['salary'];
else
$errors ['salary'] = 'Error that is an invalid number';

if(count($errors))
return $errors;

$employee = new Employee($_POST['e_Id']);
$employee->setSalary($salary);

$employee->save();
}

如果我要放入 setter,我的 Controller 应该如何显示并返回验证错误?

我见过大多数人在 Controller 中进行验证,但我认为应该由模型负责验证,因为它将使用数据,我们可以重用该模型而无需重复自己。然而,有时在某些特殊情况下可能需要不同的验证规则,例如对不同 View 的不同验证或对 super 管理员的不同验证。

您认为哪一个符合最佳实践?

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