Валидация имени

Тема в разделе "JavaScript", создана пользователем Obormot, 3 апр 2012.

Модераторы: ZiX
  1. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    В скрипте присутсвутет валидация имени пользователя (не логин)

    Хочется подправить что бы настояцее имя можно было вводить по русски и по английски, в общем как угодно.
    Вот код, помогите подправить если не сложно

    var namePattern = /^[a-zA-Z0-9_\.\s\-]{3,}$/;
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    var namePattern = /^[a-zA-Zа-яА-Я0-9_\.\s\-]{3,}$/;
    Хотя если "как угодно" то валидацию можно просто убрать :)
     
    mdss нравится это.
  3. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Все равно не принимает русские символы, может быть такое ? :eek:
    Проверял, эта валидация точно..

    Ну можно и убрать, но хотя бы по длине символов оставить..
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    не принимает где? в форме, в поле ввода имени, или после отправки формы на обработку?
     
  5. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    При поптыке отправки формы на обработку вылетает ошибка что некоректно заплнено поле фильм которого указан выше.
    Если вводить латиницей то все ок.

    Еще раз пересмотрел скрипт, только эта валидация есть, больше нигде ничего не упомянуто про проверку форм.
     
  6. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    ищите валидатор не на странице с формой, а там, куда отправляется форма!
    Ну или выложите скрипт на рассмотрение.... вслепую трудно определить проблему...
     
  7. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Валидатор вообще в js файле, который подключен к станице, в скрипте вообще больше валидаторов не нашел, а куда отправляется форма так и не понял.
    То что я привел должен быть он!
    <form method="post" class="basic" action="" id="loginForm" name="loginForm">

    ПС а как подправить код что бы вообще не проверялось это поле ?
     
  8. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    Чтоб не проверялось яваскриптом возможно достаточно будет убрать идентификатор из поля имени, хотя не факт... (чтоб точно сказать, нужно смотреть и код формы и код скрипта), а обрабатывается форма в том же файле, что и формирует данную форму : action="" как раз на это и указывает... имя файла смотрите в адресной строке, например хттп://your.site/login.php вот login.php и есть тот файл который нужно ковырять...
     
  9. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Вот код странице на которой расположена форма !

    Код:
    <!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <?php
    /**
    *
    * @package phpDC
    * @version 1.1.2 $Id: user.html.php 11371 2010-11-20 11:04:54Z normanlivingston $
    *
    */
     
        // no direct access
    defined('IN_PHPDC')||header("Location: index.php");
     
    class HTML_user_phpDC
    {
     
        function displayLoginForm($username='', $key='', $token='')
        {
            global $mainframe;
     
            echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='.LANG::_('html_charset').'" /><title>'. LANG::_('login_to_your_acct') .'</title>
    <link media="screen" rel="stylesheet" type="text/css" href="'. $mainframe->cfg->site_url .'themes/'.$mainframe->cfg->theme_name.'/css/style.css"  />
    <script type="text/javascript" src="'. $mainframe->cfg->site_url .'js/userForm.js"></script></head>
     
    <body id="page-login" onload="document.loginForm.username.focus();">
        '. getMsg() .'
        <div class="login-container">
            <div class="login-box">
                <form method="post" class="basic" action="" id="loginForm" name="loginForm">
     
                    <div class="login-form">
                        <h2>'. LANG::_('login_to_your_acct') .'</h2>
                        <div class="input-box input-left"><label for="username">'. LANG::_('user_name') .':</label><br/>
                            <input type="text" class="txt" id="username" name="username" value="'. $username .'" class="required-entry input-text" style="width:200px;" /></div>
                        <div class="input-box input-right"><label for="login">'. LANG::_('password') .':</label><br />
                            <input type="password" class="txt" id="login" name="password" class="required-entry input-text" value="" style="width:200px;"/></div>
                        <div class="clear"></div>
                        <div class="form-buttons">
                            <a class="left"  href="'. PATH::_('index.php?page=forgotpassword') .'">'. LANG::_('forgot_your_password') .'?</a> '.
                            ($mainframe->cfg->allow_user_registration ? '<br /><a class="left" href="'. PATH::_('index.php?page=register') .'">'. LANG::_('register') .'</a>&nbsp;&nbsp;&nbsp;&nbsp;' : '') .'
                            <div class="right"><button type="submit" class="button" title="Login" onclick="veriform.verify(1)">'. LANG::_('login') .'</button></div>
                            <input type="hidden" name="task" value="login" />
                            <input name="form_key" type="hidden" value="'. $key .'" />
                            <input name="token" type="hidden" value="'. $token .'" />
                        </div>
                    </div>
                </form>
                <div class="bottom"></div>
                <script type="text/javascript">
                    var veriform = new userForm(\'loginForm\');
                </script>
            </div>
        </div>
    </body>';
     
        }
     
        function displayRegistrationForm($token='')
        {
            global $mainframe;
           
            echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='.LANG::_('html_charset').'" /><title>'. LANG::_('register') .'</title>
    <link media="screen" rel="stylesheet" type="text/css" href="'. $mainframe->cfg->site_url .'themes/'.$mainframe->cfg->theme_name.'/css/style.css"  />
    <script type="text/javascript" src="'. $mainframe->cfg->site_url .'js/userForm.js"></script></head>
     
    <body id="page-login" onload="document.registerForm.name.focus();">
        '. getMsg() .'
        <div class="login-container">
            <div class="login-box">
                <form method="post" action="" name="registerForm" id="registerForm" autocomplete="off">
                    <div class="login-form">
                        <h2>'. $mainframe->cfg->site_name .' '. LANG::_('registration') .'</h2>
                        <div class="input-box input-left"><label for="name">'. LANG::_('name') .':</label><br/>
                            <input type="text"  class="txt" id="name" name="name" value="" class="required-entry input-text" style="width:130px;"/></div>
                       
                        <div class="input-box input-left"><label for="username">'. LANG::_('user_name') .':</label><br/>
                            <input type="text"  class="txt" id="username" name="username" value="" class="required-entry input-text" style="width:130px;"/></div>
                       
                        <div class="input-box input-left"><label for="email">'. LANG::_('email_address') .':</label><br/>
                            <input type="text" class="txt" id="email" name="email" value="" class="required-entry input-text" style="width:130px;"/></div>
                       
                        <div class="input-box input-left"><label for="password">'. LANG::_('password') .':</label><br />
                            <input type="password" class="txt" id="password" name="password" class="required-entry input-text" value="" style="width:130px;"/></div>
                       
                        '. ($mainframe->cfg->allow_only_buyer_or_designer ? '<div class="input-box input-left"><label for="usertype">'. LANG::_('register_me_as') .':</label><br />
                            <select name="usertype" class="required-entry select">
                                <option value="">--'. LANG::_('choose_one') .'--</option>
                                <option value="Buyer">'. LANG::_('contest_holder') .'</option>
                                <option value="Designer">'. LANG::_('Designer') .'</option>
                            </select>
                            </div>'
                            : '<input name="usertype" type="hidden" value="User" />') .'
                       
                        <div class="input-box input-left"><label for="password2">'. LANG::_('r_password') .':</label><br />
                            <input type="password"  class="txt" id="password2" name="password2" class="required-entry input-text" value="" style="width:130px;"/></div>
                       
                        <div class="clear"></div>
                        <div class="form-buttons">
                            <input type="checkbox" id="sendEmail" name="sendEmail" checked="checked" value="1" />
                            '. LANG::_('Receive_Email_notifications') .'
                              <div class="right"><input type="button" class="button" value="'. LANG::_('register') .'" title="'. LANG::_('register') .'" onclick="veriform.verify(1)" /></div>
                            <input type="hidden" name="task" value="register" />
                            <input name="tz" type="hidden" value="" />
                            <input name="token" type="hidden" value="'. $token .'" />
                        </div>
                    </div>
                </form>
                <div class="bottom"></div>
                <script type="text/javascript">
                    var veriform = new userForm(\'registerForm\');
                </script>
     
            </div>
        </div>
    </body>';
        }
     
        function displayActivationForm()
        {
            global $mainframe;
            $session =& DC::getSession();
            $token    = $session->getToken();
     
            echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='.LANG::_('html_charset').'" /><title>'. LANG::_('activate_your_acct') .'</title>
    <link media="screen" rel="stylesheet" type="text/css" href="'. $mainframe->cfg->site_url .'themes/'.$mainframe->cfg->theme_name.'/css/style.css"  />
    <script type="text/javascript" src="'. $mainframe->cfg->site_url .'js/userForm.js"></script></head>
     
    <body id="page-login" onload="document.activateForm.key.focus();">
        '. getMsg() .'
        <div class="login-container">
            <div class="login-box">
                <form method="get" action="" id="activateForm" name="activateForm" autocomplete="off">
     
                    <div class="login-form">
                        <h2>'. LANG::_('activate_your_acct') .'</h2>
                        <div class="input-box input-left"><label for="key">'. LANG::_('activate_code') .':</label><br />
                            <input type="text" id="key" name="key" style="width:465px" class="required-entry input-text" value="" /></div>
                        <div class="clear"></div>
                        <div class="form-buttons">
                            <input type="submit" class="form-button" value="'. LANG::_('activate') .'" title="'. LANG::_('activate') .'" />
                            <input type="hidden" name="task" value="activate" />
                            <input name="'. $token .'" type="hidden" value="1" />
                        </div>
                    </div>
                </form>
                <div class="bottom"></div>
                <script type="text/javascript">
                    var veriform = new userForm(\'activateForm\');
                </script>
            </div>
        </div>
    </body>';
     
        }
     
        function displayForgotPasswordForm()
        {
            global $mainframe;
            $session =& DC::getSession();
            $token    = $session->getToken();
     
            echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='.LANG::_('html_charset').'" /><title>'. LANG::_('reset_password') .'</title>
    <link media="screen" rel="stylesheet" type="text/css" href="'. $mainframe->cfg->site_url .'themes/'.$mainframe->cfg->theme_name.'/css/style.css"  />
    <script type="text/javascript" src="'. $mainframe->cfg->site_url .'js/userForm.js"></script></head>
     
    <body id="page-login" onload="document.forgotPasswordForm.email.focus();">
        '. getMsg() .'
        <div class="login-container">
            <div class="login-box">
                <form method="post" action="" id="forgotPasswordForm" name="forgotPasswordForm" autocomplete="off">
     
                    <div class="login-form">
                        <h2>'. LANG::_('reset_password') .'</h2>
                        <div class="input-box input-left"><label for="email">'. LANG::_('email_address') .':</label><br />
                            <input type="text" class="txt" id="email" name="email" style="width:200px" class="required-entry input-text" value="" /></div>
                        <div class="input-box input-left"><label for="username"><em>'. LANG::_('or') .'</em> '. LANG::_('user_name') .':</label><br/>
                            <input type="text" class="txt" id="username" name="username" style="width:200px;" class="required-entry input-text" value="" /></div>
                        <div class="clear"></div>
                        <div class="form-buttons"><br />
                          <div class="left"><input type="button" class="button" value="'. LANG::_('OK') .'" title="'. LANG::_('reset_password') .'" onclick="veriform.verify(1)" /></div>
                            <input type="hidden" name="task" value="forgotpassword" />
                            <input name="'. $token .'" type="hidden" value="1" />
                        </div>
                    </div>
                </form>
                <div class="bottom"></div>
                <script type="text/javascript">
                    var veriform = new userForm(\'forgotPasswordForm\');
                </script>
            </div>
        </div>
    </body>';
     
        }
       
    }
    ?>

    На этой странице подключен userForm.js - там я и нашел строку с валидацией поля:
    var namePattern = /^[a-zA-Zа-яА-я0-9_\.\s\-]{3,}$/;

    Где еще может быть валидация ?
    Может быть строку фильтра подправить что бы он все что угодно пропускал ? я просто в синтаксисе js не силен :(
     
  10. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    выложите userForm.js а лучше весь скрипт целиком...