2015-11-10 51 views
4

我的驗證類看起來像這樣如何驗證金錢在Laravel5請求類

<?php 

namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class PaymentRequest extends Request 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     $rules = array(

         'invoiceid'=>'required', 
         'recieved_amount'=>'required', 
         'ref_no'=>'required', 
         'date'=>'required', 
         'comment'=>'required' 
         ); 


    } 
} 

我想驗證recieved_amount作爲貨幣領域一樣,如果進入錢以外的任何物品,應當驗證

可以在任何一個幫我在這

+0

什麼是 '錢'?難道它只是一個數字嗎? – Andrius

+0

進行自定義驗證。 – aldrin27

+0

@Satisfaction是的,它可能是浮動我想,但我不知道規則來驗證你能幫助我 – Vikram

回答

19

您可以使用此,例如(被「量」的貨幣數量):

public static $rules = array(
    'amount' => "required|regex:/^\d*(\.\d{1,2})?$/" 
)); 

正則表達式將舉行大量像「12」或'12 0.5' 或'12 0.05' 。如果您想要的小數點多於兩個,請將「2」替換爲您需要的允許的小數點。

+0

所以我會添加' '量'=> 「要求|正則表達式:?/^\ d *(\ \ d {2})$ /」'這條線在我的規則排列, ANd是否可以用於整數和浮點數 – Vikram

+0

是的,因爲點部分是可選的。但是,使用正確的金錢格式爲你的國家(在美國,比如他們使用的,而不是一個點一個逗號) – Amarnasan

+0

問題是我公司同時使用美元和印度盧比也有一些其他國家的貨幣像阿聯酋和土耳其,這就是爲什麼我只需添加一個廣義的驗證 – Vikram