【发布时间】:2013-08-27 07:31:20
【问题描述】:
我在我的 Laravel 4 应用程序中创建了一个 Employer 模型,并在 Employer.php 中创建了以下函数来验证用户输入,然后再将其保存到数据库:
public static function validate($input)
{
$validator = Validator::make($input, static::$rules);
if ($validator->fails() {
return $validator;
}
return true;
}
当我在数据库中创建新记录时,这可以正常工作,因为我正在为我指定特定字段的所有规则传递值。
但是,数据库中的某些字段在创建后我不希望用户对其进行编辑(例如,business_name)。在控制器的编辑方法中,我创建了一个表单并从表单中省略了这些字段。但验证失败,因为$rules 需要business_name。
作为临时解决方法,我尝试在编辑表单中创建一个隐藏字段并使用business_name 填充它。但是,这也必须是唯一的,并且当我将表单修补到 update 方法时会失败!
有什么建议吗?有什么方法可以根据调用它的方法指定应该应用哪些验证规则?或者我应该在Employer.php 中创建一个新方法专门用于验证更新方法?
【问题讨论】:
标签: php forms validation model laravel-4