Php 核心逻辑是什么/他们是如何编码的;“必需”;laravel的内置验证规则

Php 核心逻辑是什么/他们是如何编码的;“必需”;laravel的内置验证规则,php,laravel,Php,Laravel,我只是想知道他们是如何编写laravel的“必需”验证规则的 我试图向不存在的输入中添加一个必需的规则,并且“必需”规则会运行,但如果我更改为其他规则,如“电子邮件”等,则它不会运行。我只是好奇 我对不存在的输入的意思是它确实存在,但它显示:无 我只想看看函数逻辑 这是我的示例代码 $validator->sometimes("mmad_bonus_type", 'required', function($input){ return $input->mmad_bon

我只是想知道他们是如何编写laravel的“必需”验证规则的

我试图向不存在的输入中添加一个必需的规则,并且“必需”规则会运行,但如果我更改为其他规则,如“电子邮件”等,则它不会运行。我只是好奇

我对不存在的输入的意思是它确实存在,但它显示:无

我只想看看函数逻辑

这是我的示例代码

$validator->sometimes("mmad_bonus_type", 'required', function($input){
        return $input->mmad_bonus_type == null;
});
代码位于
illumb/Validation/Validator.php
的目录中(该目录将位于
vendor/laravel/framework/src
目录中)

需要受保护的函数验证($attribute,$value)
{
如果(为空($value))
{
返回false;
}
elseif(is_字符串($value)和trim($value)='')
{
返回false;
}
elseif((is_数组($value)| |$value可数实例)&&count($value)<1)
{
返回false;
}
elseif($value instanceof File)
{
返回(字符串)$value->getPath()!='';
}
返回true;
}

这可以在文档中轻松查找。是的,我知道如何添加验证规则,但我想问的是他们如何编写内置的“必需”规则,我指的是纯代码,如类或函数。必需只是意味着如果给定变量不存在或没有值,它将出错。请删除您的否决票。我想我的问题弄糊涂了,或者你没有明白是的,先生,我当然知道要求的工作原理。现在让我们回到我的问题,“我在哪里/如何才能看到所需规则的确切逻辑代码”。thnx对于您的答案,我所做的是在我的自定义core validator类中创建一个错误,以确定文件的主要位置。。无论如何,thnx
protected function validateRequired($attribute, $value)
{
    if (is_null($value))
    {
        return false;
    }
    elseif (is_string($value) && trim($value) === '')
    {
        return false;
    }
    elseif ((is_array($value) || $value instanceof Countable) && count($value) < 1)
    {
        return false;
    }
    elseif ($value instanceof File)
    {
        return (string) $value->getPath() != '';
    }
    return true;
}