【发布时间】:2013-07-01 07:12:44
【问题描述】:
我想确保某些字段作为表单的一部分发布,但我不介意某些字段是否为空值。
“必需”验证规则不起作用,因为我很乐意接受空字符串。我尝试了以下方法,但由于从未发送过“address2”字段,因此验证器不会对其进行处理。
有什么想法吗?
$rules = array(
'address2' => 'attribute_exists'
);
class CustomValidator extends Illuminate\Validation\Validator {
public function validateAttributeExists($attribute, $value, $parameters)
{
return isset($this->data[$attribute]);
}
}
【问题讨论】:
-
你到底想做什么?您正在检查自定义代码中的 isset,而不是您可以使用 required 吗?
-
您是否有一组特定的值应该与“address2”匹配? Laravel 有很多验证规则,对于像
address2这样简单的东西,我不确定你是否需要自定义验证。 -
很抱歉,我可能没有正确解释自己。目前不可能使用任何现有的验证规则来检查 $_POST[attribute] 是否存在,但允许空字符串作为其值。我想接受空字符串,但检查变量“address2”是否在发布请求中。我在上面创建自定义验证规则的尝试似乎不起作用。当然,我可以检查它是否在代码中设置,但在执行任何其他逻辑之前,我会尝试使用验证规则保持干净。
标签: validation laravel laravel-4 isset