php 验证输入内容,php – 在哪里验证用户输入?

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

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

public function setSalary($salary)

{

if (Validator::money($salary))

$this->salary = $salary;

else

return 'Error that is an invalid number';

}

还是在控制器中?

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我的控制器应该如何看,并返回验证错误?

我已经看到大多数人在控制器中进行验证,但是我认为应该是验证的模型,因为它将使用数据,我们可以重用该模型而不重复自己.

但是,有时候验证规则可能需要在某些特殊情况下有所不同,例如对不同视图的不同验证或对晚餐管理员的不同验证.

你会说哪一个符合最佳做法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值