CodeIgniter - überprüfen leeren Wert

Wie bekomme ich CodeIgniter zum ausführen von benutzerdefinierten Regeln, die auf den Feldern, die nicht haben die required Regel aber der Benutzer leer gelassen?

Die besten, die ich mit oben kommen kann ist ein Leerzeichen hinzufügen, um das Feld, wenn der string leer ist, und fügen Sie dann eine trim Regel-aber das fühlt sich hacky.

Beispiel rule #1

Feld ist nur erforderlich, wenn ein anderes Feld einen bestimmten Wert hat:

//depends[another_field.some_val]
public function depends($str, $field){
    list($post_key, $post_val)=explode('.', $field);
    if($_POST[$post_key] == $post_val){
        return $str != "";
    }
    return true;
}

Beispiel für Regel #2

Feld ist nur erforderlich, wenn ein regex ist in der Datenbank vorhanden:

//regex[table_name.col_name.some_val]
public function regex($str, $field){
  list($table, $col, $post_val)=explode('.', $field);
  //Grab the regex
  $regex = $this->CI  ->db
                      ->limit(1)
                      ->select($col)
                      ->where($post_val, $_POST[$post_val])
                      ->get($table)
                      ->row($col);

  return preg_match('/'.$regex.'/', $str) === 1;
}
InformationsquelleAutor rybo111 | 2014-07-18
Schreibe einen Kommentar