thinkphpベリファイアrequireは無効で、tp 5のvalidate検証は無効です


thinkphp 5のrequire検証空文字は無効で、tp 5の検証シーンでは必須requireは無効です
理由を検索すると、入力は空ではなく、スペースでした.
TPバージョン:5.0.24、バージョンの表示=>https://blog.csdn.net/qq6759/article/details/101622977
ソース検出の表示
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"-タブ
  • "-改行
  • "x 0 B"-垂直タブ
  • "r"-レンタカー
  • "-スペース