/** * 获取“最多可选数量”验证规则 * @param mixed $value * @return array */ public function getMaxChoicesRule($value) { return array('NonNegativeInteger' => new validator\NonNegativeIntegerValidator($value, true, Lang::_('SRV_FILTER_POLLS_MAX_CHOICES_NONNEGATIVEINTEGER'))); }
/** * 获取“是否多选”所有选项 * @return array */ public static function getIsMultipleEnum() { static $enum = null; if ($enum === null) { $enum = array(self::IS_MULTIPLE_Y => Lang::_('SRV_ENUM_GLOBAL_YES'), self::IS_MULTIPLE_N => Lang::_('SRV_ENUM_GLOBAL_NO')); } return $enum; }
/** * 通过“错误码”获取“错误信息” * @param integer $errNo * @param mixed $args * @return string */ public static function getErrMsgByErrNo($errNo, $args = '') { $errNo = (int) $errNo; $enum = self::getErrMsgEnum(); $errMsg = isset($enum[$errNo]) ? $enum[$errNo] : Lang::_('SRV_FILTER_VOTE_FAILED'); if ($errNo === self::ERROR_DT_PUBLISH_UP_WRONG || $errNo === self::ERROR_POLLOPTIONS_WRONG) { $errMsg = sprintf($errMsg, $args); return $errMsg; } if ($errNo === self::ERROR_JOIN_TYPE_INTERVAL_WRONG) { $second = (int) $args; if ($second < 60) { $errMsg = sprintf($errMsg, $second, Lang::_('SRV_ENUM_VOTE_INTERVAL_SECOND'), $second, Lang::_('SRV_ENUM_VOTE_INTERVAL_SECOND')); return $errMsg; } $minute = floor($second / 60); if ($second > $minute * 60) { $errMsg = sprintf($errMsg, $second, Lang::_('SRV_ENUM_VOTE_INTERVAL_SECOND'), $second, Lang::_('SRV_ENUM_VOTE_INTERVAL_SECOND')); return $errMsg; } if ($minute < 60) { $errMsg = sprintf($errMsg, $minute, Lang::_('SRV_ENUM_VOTE_INTERVAL_MINUTE'), $minute, Lang::_('SRV_ENUM_VOTE_INTERVAL_MINUTE')); return $errMsg; } $hour = floor($minute / 60); if ($minute > $hour * 60) { $errMsg = sprintf($errMsg, $minute, Lang::_('SRV_ENUM_VOTE_INTERVAL_MINUTE'), $minute, Lang::_('SRV_ENUM_VOTE_INTERVAL_MINUTE')); return $errMsg; } if ($hour < 24) { $errMsg = sprintf($errMsg, $hour, Lang::_('SRV_ENUM_VOTE_INTERVAL_HOUR'), $hour, Lang::_('SRV_ENUM_VOTE_INTERVAL_HOUR')); return $errMsg; } $day = floor($hour / 24); if ($hour > $day * 24) { $errMsg = sprintf($errMsg, $hour, Lang::_('SRV_ENUM_VOTE_INTERVAL_HOUR'), $hour, Lang::_('SRV_ENUM_VOTE_INTERVAL_HOUR')); return $errMsg; } $errMsg = sprintf($errMsg, $day, Lang::_('SRV_ENUM_VOTE_INTERVAL_DAY'), $day, Lang::_('SRV_ENUM_VOTE_INTERVAL_DAY')); return $errMsg; } return $errMsg; }
/** * 获取“排序”验证规则 * @param mixed $value * @return array */ public function getSortRule($value) { return array('Integer' => new validator\IntegerValidator($value, true, Lang::_('SRV_FILTER_POLLOPTIONS_SORT_INTEGER'))); }