2016-02-05 175 views
2

我驗證下面的代碼數字字段工作正常。這是檢查字符不應該超過2或更少,這對我來說很好。Laravel表單驗證

/** 
* Get the validation rules that apply to the request. 
* 
* @return array 
*/ 
public function rules() 
{ 
    return [ 
     'id' => 'required|min:2|max:2', 
     'title' => 'required' 
    ]; 
} 

但是當我添加更多的驗證規則一樣(數字),最小值和最大值validaiton規則得到改變,現在它正被數字號碼覈對應不大於2 ...... 爲什麼還大嗎?是它的錯誤?

/** 
* Get the validation rules that apply to the request. 
* 
* @return array 
*/ 
public function rules() 
{ 
    return [ 
     'id' => 'required|min:2|max:2|numeric', 
     'title' => 'required' 
    ]; 
} 

回答

3

最小和最大規則依賴於場的類型。如果它是一個字符串,它會檢查長度。如果它是一個數字,它會檢查值。

所以,如果你想有一個數字只能使用兩個字符集使用

'id' => 'required|min:10|max:99|numeric', 

場下驗證的尺寸必須符合給定值。對於字符串數據,值對應於字符數。對於數字數據,值對應於給定的整數值。對於文件,大小對應於以千字節爲單位的文件大小。

+0

如果他們嘗試輸入像「01」,「02」或「03」這樣的ID,該怎麼辦? – smartrahat

+0

我認爲他們會被鑄造成int(所以它的1,2,3),然後他們會檢查最小和最大。 – mimo

+0

是啊!你是對的。 – smartrahat