2017-07-04 6 views
0

さて、私はこの質問をしばらく探していましたが、これを私に説明する答え(または少なくとも直接的なもの)を見つけることができませんでした。CodeIgniterフォームの検証処理(ルールキーとデータ型)

私はCodeIgniterの3.xのフォーム検証ライブラリを使用してきたので、私はこのようないくつかのデータを持っている:

// Just example data 
$input_data = [ 
    'id'  => 1, 
    'logged_in' => TRUE, 
    'username' => 'alejandroivan' 
]; 

その後、私はそれを検証する際に、私が使用します。

$this->form_validation->set_data($input_data); 
$this->form_validation->set_rules([ 
    [ 
     'field' => 'id', 
     'label' => 'The ID to work on', 
     'rules' => 'required|min_length[1]|is_natural_no_zero' 
    ], 
    [ 
     'field' => 'username', 
     'label' => 'The username', 
     'rules' => 'required|min_length[1]|alpha_numeric|strtolower' 
    ], 
    [ 
     'field' => 'logged_in', 
     'label' => 'The login status of the user', 
     'rules' => 'required|in_list[0,1]' 
    ] 
]); 

if ($this->form_validation->run() === FALSE) { /* failed */ } 

ここにいくつか質問があります:

  • labelキーは本当に必要ですか? Form Validation自動生成エラーメッセージを使用していません。データが検証済みかどうかを確認したいだけです。私がそれを省略すると何かが失敗するでしょうか?これはJSON APIなので、フィールドの説明を印刷する必要はありません。既に定義した静的エラーだけです。
  • 私の例のusernameフィールドには、requiredルールチェックの長さはありますか?つまり、この場合はmin_lengthはオプションですか? alpha_numericの同じ質問は、空の文字列はアルファベット数字と考えられますか?
  • logged_inフィールド(ブール値)で、TRUEまたはFALSEを確認するにはどうすればよいですか? in_list[0,1]で十分でしょうか? requiredも含める必要がありますか? is_booleanのようなものはありますか?

ありがとうございます。

+0

私が指摘しておきたいのは、もしあなたがそう思っていれば、form_validationライブラリを簡単に拡張し、is_booleanルールを追加することができます。それは実際にはひどい考えではありません。 – Joe

答えて

0
  1. 「ラベル」キーは必須ですが、空にすることもできます。
  2. "必須"ルールでは長さがチェックされず、 "alpha_numeric"もチェックされません。値が存在することをチェックし、その値の長さをチェックしません。そのために、min_length []とmax_length []があります。
  3. 0または1を渡すだけなら、これはおそらく最も簡単で最短のルートです。
関連する問題