gpt4 book ai didi

validation - 使用Laravel在验证期间检查输入中是否存在字段

转载 作者:行者123 更新时间:2023-12-03 15:05:47 26 4
gpt4 key购买 nike

我想确保某些字段作为表单的一部分发布,但是我不介意某些字段是否为空值。

由于我很乐意接受空字符串,因此“必需”验证规则将不起作用。我尝试了以下方法,但是由于从不发送'address2'字段,因此验证程序不会对其进行处理。

有任何想法吗?

$rules = array(
'address2' => 'attribute_exists'
);



class CustomValidator extends Illuminate\Validation\Validator {

public function validateAttributeExists($attribute, $value, $parameters)
{
return isset($this->data[$attribute]);
}
}

最佳答案

您应该像这样制作自定义验证器。

use Symfony\Component\Translation\TranslatorInterface;

class CustomValidator extends Illuminate\Validation\Validator {

public function __construct(TranslatorInterface $translator, $data, $rules, $messages = array())
{
parent::__construct($translator, $data, $rules, $messages);

$this->implicitRules[] = 'AttributeExists';
}

public function validateAttributeExists($attribute, $value, $parameters)
{
return isset($this->data[$attribute]);
}
}

这将使AttributeExists无需使用require就可以工作。有关更多说明。当您要创建新的验证器规则时。如果您没有在$ implicitRules中设置它,那么如果您不使用require规则,则该方法将无法解决。您可以在laravel源代码中找到更多信息。

关于validation - 使用Laravel在验证期间检查输入中是否存在字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17450658/

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