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