• Как запретить ввод одного числа в поле input?

    @Vadim1991 Автор вопроса
    Это код файла локализации с лимитами
    <?php
    /**
     * @package Joomla.Language
     *
     * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
     * @license GNU General Public License version 2 or later; see LICENSE.txt
     */
    
    defined('_JEXEC') or die;
    use \Joomla\String\StringHelper;
    
    /**
     * ru-RU localise class.
     *
     * @since 1.6
     */
    abstract class Ru_RULocalise
    {
    	/**
    	 * Returns the potential suffixes for a specific number of items
    	 *
    	 * @param integer $count The number of items.
    	 *
    	 * @return  array  An array of potential suffixes.
    	 *
    	 * @since 1.6
    	 */
    	public static function getPluralSuffixes($count)
    	{
    		if ($count == 0)
    		{
    			$return = array('0');
    		} else {
    			$return = array(($count%10==1 && $count%100!=11 ? '1' : ($count%10>=2 && $count%10<=4 && ($count%100<10 || $count%100>=20)? '2' : 'MORE')));
    		}
    		return $return;
    	}
    
    	/**
    	 * Returns the ignored search words
    	 *
    	 * @return array An array of ignored search words.
    	 *
    	 * @since 1.6
    	 */
    
    	/**
    	 * Returns the lower length limit of search words
    	 *
    	 * @return integer The lower length limit of search words.
    	 *
    	 * @since 1.6
    	 */
    	public static function getLowerLimitSearchWord()
    	{
    		return 10;
    	}
    
    	/**
    	 * Returns the upper length limit of search words
    	 *
    	 * @return integer The upper length limit of search words.
    	 *
    	 * @since 1.6
    	 */
    	public static function getUpperLimitSearchWord()
    	{
    		return 15;
    	}
    
    	/**
    	 * Returns the number of chars to display when searching
    	 *
    	 * @return integer The number of chars to display when searching.
    	 *
    	 * @since 1.6
    	 */
    	public static function getSearchDisplayedCharactersNumber()
    	{
    		return 15;
    	}
    
    	public static function transliterate($string)
    	{
    		$str = StringHelper::strtolower($string);
    
    		$glyph_array = array(
    			'a' => 'а',
    			'b' => 'б',
    			'v' => 'в',
    			'g' => 'г,ґ',
    			'd' => 'д',
    			'e' => 'е,є,э',
    			'jo' => 'ё',
    			'zh' => 'ж',
    			'z' => 'з',
    			'i' => 'и,і',
    			'ji' => 'ї',
    			'j' => 'й',
    			'k' => 'к',
    			'l' => 'л',
    			'm' => 'м',
    			'n' => 'н',
    			'o' => 'о',
    			'p' => 'п',
    			'r' => 'р',
    			's' => 'с',
    			't' => 'т',
    			'u' => 'у',
    			'f' => 'ф',
    			'kh' => 'х',
    			'ts' => 'ц',
    			'ch' => 'ч',
    			'sh' => 'ш',
    			'shch' => 'щ',
    			'' => 'ъ',
    			'y' => 'ы',
    			'' => 'ь',
    			'yu' => 'ю',
    			'ya' => 'я',
    		);
    
    		foreach ($glyph_array as $letter => $glyphs) {
    			$glyphs = explode(',', $glyphs);
    			$str = StringHelper::str_ireplace($glyphs, $letter, $str);
    		}
    
    		$str = preg_replace('#\&\#?[a-z0-9]+\;#ismu', '', $str);
    
    		return $str;
    	}
    }
  • Как запретить ввод одного числа в поле input?

    @Vadim1991 Автор вопроса
    Это код самого компонента поиска

    <?php
    /**
     * @package     Joomla.Site
     * @subpackage  com_search
     *
     * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved.
     * @license     GNU General Public License version 2 or later; see LICENSE.txt
     */
    
    defined('_JEXEC') or die;
    
    JHtml::_('bootstrap.tooltip');
    
    $lang = JFactory::getLanguage();
    $upper_limit = $lang->getUpperLimitSearchWord();
    
    ?>
    <form id="searchForm" action="<?php echo JRoute::_('index.php?option=com_search'); ?>" method="post">
    	<div class="btn-toolbar">
    		<div class="btn-group pull-left">
    			<label for="search-searchword" class="element-invisible">
    				<?php echo JText::_('COM_SEARCH_SEARCH_KEYWORD'); ?>
    			</label>
    			<input type="number" name="searchword" title="<?php echo JText::_('COM_SEARCH_SEARCH_KEYWORD'); ?>" placeholder="<?php echo JText::_('COM_SEARCH_SEARCH_KEYWORD'); ?>" id="search-searchword" size="30" maxlength="<?php echo $upper_limit; ?>"  value="<?php echo $this->escape($this->origkeyword); ?>" class="inputbox" />
    		</div>
    		<div class="btn-group pull-left">
    			<button name="Search" onclick="this.form.submit()" class="btn hasTooltip" title="<?php echo JHtml::_('tooltipText', 'COM_SEARCH_SEARCH');?>">
    				<span class="icon-search"></span>
    				<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>
    			</button>
    		</div>
    		<input type="hidden" name="task" value="search" />
    		<div class="clearfix"></div>
    	</div>
    	<div class="searchintro<?php echo $this->params->get('pageclass_sfx'); ?>">
    		<?php if (!empty($this->searchword)) : ?>
    			<p>
    				<?php echo JText::plural('COM_SEARCH_SEARCH_KEYWORD_N_RESULTS', '<span class="badge badge-info">' . $this->total . '</span>'); ?>
    			</p>
    		<?php endif; ?>
    	</div>
    	<?php if ($this->params->get('search_phrases', 1)) : ?>
    		<fieldset class="phrases">
    			<legend>
    				<?php echo JText::_('COM_SEARCH_FOR'); ?>
    			</legend>
    			<div class="phrases-box">
    				<?php echo $this->lists['searchphrase']; ?>
    			</div>
    			<div class="ordering-box">
    				<label for="ordering" class="ordering">
    					<?php echo JText::_('COM_SEARCH_ORDERING'); ?>
    				</label>
    				<?php echo $this->lists['ordering']; ?>
    			</div>
    		</fieldset>
    	<?php endif; ?>
    	<?php if ($this->params->get('search_areas', 1)) : ?>
    		<fieldset class="only">
    			<legend>
    				<?php echo JText::_('COM_SEARCH_SEARCH_ONLY'); ?>
    			</legend>
    			<?php foreach ($this->searchareas['search'] as $val => $txt) : ?>
    				<?php $checked = is_array($this->searchareas['active']) && in_array($val, $this->searchareas['active']) ? 'checked="checked"' : ''; ?>
    				<label for="area-<?php echo $val; ?>" class="checkbox">
    					<input type="checkbox" name="areas[]" value="<?php echo $val; ?>" id="area-<?php echo $val; ?>" <?php echo $checked; ?> />
    					<?php echo JText::_($txt); ?>
    				</label>
    			<?php endforeach; ?>
    		</fieldset>
    	<?php endif; ?>
    	<?php if ($this->total > 0) : ?>
    		<div class="form-limit">
    			<label for="limit">
    				<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
    			</label>
    			<?php echo $this->pagination->getLimitBox(); ?>
    		</div>
    		<p class="counter">
    			<?php echo $this->pagination->getPagesCounter(); ?>
    		</p>
    	<?php endif; ?>
    </form>
  • Как запретить ввод одного числа в поле input?

    @Vadim1991 Автор вопроса
    Вся проблема в том, что почему то 0 не попадает в ограничения. Я ненашел как запретить ввод одного числа, и в то же время число 0 нельзя запрещать. По логике, здесь должен быть запрет на ввод одного числа(включая 0). Сайт на joomla. лимит знаков прописан в файле локализации.
  • Как запретить ввод одного числа в поле input?

    @Vadim1991 Автор вопроса
    в поиск ввожу 0, выдает результат, ввожу другие цифры, всеработает нормально. Посмотрите сами ссылка