/** * 检测字符串是否只有数字 * * @param string $value * @return bool */ public static function digit($value) { return Validator::digit()->validate($value); }
/** * Seta o Indicador de autorização automática: * * 0 (não autorizar) * 1 (autorizar somente se autenticada) * 2 (autorizar autenticada e não-autenticada) * 3 (autorizar sem passar por autenticação – válido somente para crédito) * * @access public * @param integer $autorizar * @return integer */ public function setAutorizar($autorizar) { $validos = array(0, 1, 2, 3); if (!v::digit()->in($validos)->validate($autorizar)) { throw new InvalidArgumentException('Indicador de autorização inválido.'); } $this->autorizar = (int) $autorizar; return $this; }
/** * Configura a data de validade do cartão * * @access public * @param integer $validade AAAAMM * @param integer $referencia * @return Cartao */ public function setValidade($validade, $referencia = null) { if (!v::digit()->notEmpty()->noWhitespace()->length(6)->validate($validade)) { throw new InvalidArgumentException('Data de validade inválida.'); } $referencia = $referencia ?: date('Ym'); if ($validade < $referencia) { throw new InvalidArgumentException('Cartão com validade ultrapassada.'); } $this->validade = $validade; return $this; }
/** * Verifica se o valor possui apenas caracteres numéricos * @param string $value * @param array $params Lista de flags * @return boolean */ public function validDigit($value, $params = array()) { if (!v::digit()->validate($value)) { if (getValueFromArray($params, Flag::NOWHITESPACE, false)) { Factory::log()->warn('Valor deve possuir apenas números'); } else { Factory::log()->warn('Valor deve possuir apenas números e espaços'); } return false; } return true; }