thinkphp5驗證某個字段必須規則失效,tp5的驗證場景下必填require無效
查找原因發現,原來輸入不爲 空,而是一個 空格。
TP版本:5.0.24,查看版本 echo THINK_VERSION;
查看源碼發現
switch ($rule) {
case 'require':
// 必須
$result = !empty($value) || '0' == $value;
break;
打印一下看看
var_dump(empty(" "));
// bool(false)
所以,我們需要先將需要驗證的字段過一個 過濾 後再去用 require 規則。這裏提供幾個方法給大家:
一、先進行 trim 再去驗證必填
trim() 函數移除字符串兩側的空白字符或其他預定義字符。
語法
trim(string,charlist)
參數 | 描述 |
---|---|
string | 必需。規定要檢查的字符串。 |
charlist |
可選。規定從字符串中刪除哪些字符。如果被省略,則移除以下所有字符:
|