2016-02-05 54 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