2016-02-05 50 views
1
public function rules() { 
     return [ 
      'num_of_devices' => 'integer' 
     ]; 
} 

我想验证整数字段当且仅当输入字段。但上面的规则验证它为整数,即使该字段为空。我用somtimes,但没有结果。但是当我var_dump($num_of_devices)它是string.I使用Laravel 5.2。我认为它在5.1中工作正常。请帮帮我。仅当在Laravel中输入字段时才有效5.2

回答

4

如果输入不为空,则向数组添加规则。您可以将所有验证规则收集到$ rules数组中,然后返回数组。

if(!empty(Input::get('num_of_devices'))){ 
    $rules['num_of_devices'] = 'integer'; 
} 
+0

为什么这一切时,你可以使用'nullable'? – kjdion84

+0

关闭,但没有雪茄。问题是关于Laravel 5.2,并且在Laravel 5.3中引入了可空的验证规则。 – Timo

+0

Ahhhhhhh我明白了。 – kjdion84

1

您正在寻找sometimes验证规则。从文档:

...对字段运行验证检查只有如果该字段存在于输入数组中。

+0

我用'有时',但不适合我。 –

+0

它在Laravel 5.1版本中工作(没有“有时”)。但升级到5.2后不是...... –

+0

'''有时''只检查输入数组是否存在密钥,而不是如果该值为空/ 0/null。 – brnmonteiro

4

5.3版本,你可以使用可空

public function rules() { 
     return [ 
      'num_of_devices' => 'nullable | integer' 
     ]; 
} 
+0

我只是喜欢这个框架。每当我想到某些事情时,他们都会为我解决一些问题。多谢这一点。 –

+0

_Note_:'可空'验证规则只能从'v5.3' – avn

相关问题