TP5自動驗證必填不生效require

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

可選。規定從字符串中刪除哪些字符。如果被省略,則移除以下所有字符:

  • "\0" - NULL
  • "\t" - 製表符
  • "\n" - 換行
  • "\x0B" - 垂直製表符
  • "\r" - 回車
  • " " - 空格
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章