【发布时间】:2016-07-31 11:46:29
【问题描述】:
我想验证 Laravel5.1 应用程序的一些输入是否需要填写 意思是,它不需要一个属性被发送但是如果被发送,它的值不能是空字符串,你的解决方案是什么? 当然我使用了填充规则,但它没用,如果输入值为空,则不能验证属性
【问题讨论】:
标签: php validation laravel-5 rules
我想验证 Laravel5.1 应用程序的一些输入是否需要填写 意思是,它不需要一个属性被发送但是如果被发送,它的值不能是空字符串,你的解决方案是什么? 当然我使用了填充规则,但它没用,如果输入值为空,则不能验证属性
【问题讨论】:
标签: php validation laravel-5 rules
我跟踪 Laravel 验证,发现输入的值是否为空字符串 Laravel 不会验证其值,除了隐式数组中的一些规则(例如 required、requiredWith、..),所以其他验证(例如填充、 ..) 如果属性的值为空字符串,则无法运行,我尝试将填充验证器添加到隐式数组中,因此我创建了一个服务提供者类并扩展了位于 Laravel Illuminate 的 Validtion 包中的 Validator.php 中的隐式数组
class ValidatorServiceProvider extends ServiceProvider{
public function boot()
{
$this->app['validator']->extendImplicit('Filled', function($attribute, $value, $parameters, $validator) {
return $value == 'Filled';
});}
所以当我为属性添加填充规则时,如果属性被发送,它不能为空
$rules = ['email' => 'filled|email]
【讨论】: