/** * @dataProvider data */ public function test_filter($prefix, $postfix, $comp, $val, $e_sql, $e_opt) { $QB = new QueryBuilder(); $text = new Text(array('prefix' => $prefix, 'postfix' => $postfix)); $text->filter($QB, 'T', 'col', $comp, $val, 'AND'); list($sql, $opt) = $QB->getWhereSQL(); $this->assertEquals($this->cleanWS($e_sql), $this->cleanWS($sql)); $this->assertEquals($e_opt, $opt); }
/** * Validate * * @param int|string $rawvalue * @return int|string */ public function validate($rawvalue) { $rawvalue = parent::validate($rawvalue); $mail = $this->config['prefix'] . $rawvalue . $this->config['postfix']; if (!mail_isvalid($mail)) { throw new ValidationException('Mail invalid', $mail); } return $rawvalue; }
/** * The final string should be an URL * * @param string $rawvalue * @return int|string|void */ public function validate($rawvalue) { $rawvalue = parent::validate($rawvalue); $url = $this->buildURL($rawvalue); $schemes = getSchemes(); $regex = '^(' . join('|', $schemes) . '):\\/\\/.+'; if (!preg_match("/{$regex}/i", $url)) { throw new ValidationException('Url invalid', $url); } return $rawvalue; }