Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Форма регистрации нового пользователя / 25 сообщений из 39, страница 1 из 2
20.11.2012, 15:18
    #38045486
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Есть aspx страничка на которой я набросал пары asp контролов (Label и textBox) стандартно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<table border="0" cellpadding="0" cellspacing="0" align="center" width="60%">
            <tr>
                <td class="reglabels" align="right">
                    Логин<span class="regStar">*</span>
                </td>
                <td class="regtextbox" align="left">
                    <asp:TextBox ID="loginTextBox" runat="server" />
                </td>
            </tr>
            <tr>
                <td class="reglabels" align="right">
                    Пароль<span class="regStar">*</span>
                </td>
                <td class="regtextbox" align="left">
                    <asp:TextBox ID="passTextBox" TextMode="Password" runat="server" />
                </td>
            </tr>
            <tr>
                <td class="reglabels" align="right">
                    Повторите пароль<span class="regStar">*</span>
                </td>
                <td class="regtextbox" align="left">
                    <asp:TextBox ID="repPassTextBox" TextMode="Password" runat="server" />
                </td>
            </tr>
            <tr>
                <td class="reglabels" align="right">
                    E-Mail<span class="regStar">*</span>
                </td>
                <td class="regtextbox" align="left">
                    <asp:TextBox ID="emailTextBox" runat="server" />
                </td>
            </tr>
            <tr>
                <td class="reglabels" align="right" style="border-bottom: solid 1px #cccccc;">
                    Аватар
                </td>
                <td class="regtextbox" align="left" style="border-bottom: solid 1px #cccccc;">
                    <asp:FileUpload runat="server" Width="90%" />
                </td>
            </tr>
        </table>


в самом низу есть кнопка "Зарегистрироваться", по нажатию на которую нужно выполнить скрипт, где я могу проверить валидность введенного ящика, пароля и т.п., но по нажатию на нее я получаю просто PostBack (если не добавить OnClientClick="return false"), скрипт соответственно не выполняется.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<table border="0" cellpadding="0" cellspacing="0" align="center" width="100%" style="margin: 20px 0 0 0;">
        <tr>
            <td align="center">
                <asp:Button Text="Зарегистрироваться" OnClick="RegBtn_Click" 
                    runat="server" OnClientClick="return false" />
            </td>
        </tr>
    </table>


вверху объявлен скрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
<script runat="server">
        void RegBtn_Click( Object sender, EventArgs e )
        {
            //тут будет проверка
        }
    </script>



ну уже почти весь инет перерыл, ничего не смог найти.
...
Рейтинг: 0 / 0
20.11.2012, 15:34
    #38045515
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Sanprof,

А что ты хотел получить вместо постбэка? :)
...
Рейтинг: 0 / 0
20.11.2012, 15:51
    #38045560
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMAN, нужно сделать проверку введенной информации и если все правильно перенаправить на страницу приветствия нового пользователя, ну и войти соответственно по новым пользователем.
P.S.
сильно не пинайте, только дней 5 изучаю ASP до этого сидел на WinForms, доки основ уже прочитаны, так что туда посылать не нужно.
...
Рейтинг: 0 / 0
20.11.2012, 15:56
    #38045578
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMAN,
1 Почему бы не воспользоваться стандартными валидаторами, они с левой стороны студии в окне панелей элементов.
2 проверку надо вешать на на событие отправки формы, а не на кнопку.
3 что вы будете делать, если JS отключен у пользователя
4 Ну и капчу не забыть..
...
Рейтинг: 0 / 0
20.11.2012, 15:59
    #38045590
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Где-то в степи, это я привел часть вводимой информации, капча присутствует,
Где-то в степи2 проверку надо вешать на на событие отправки формы, а не на кнопку.
можно по-подробнее???
...
Рейтинг: 0 / 0
20.11.2012, 16:01
    #38045595
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMAN, изв. не вам
...
Рейтинг: 0 / 0
20.11.2012, 16:02
    #38045599
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
SanprofIRONMAN, нужно сделать проверку введенной информации и если все правильно перенаправить на страницу приветствия нового пользователя, ну и войти соответственно по новым пользователем.
P.S.
сильно не пинайте, только дней 5 изучаю ASP до этого сидел на WinForms, доки основ уже прочитаны, так что туда посылать не нужно.

У вас скрипт runat="server". :) Он выполнится только на сервере. На клиенте можете проверить только валидность email и т.п
Если же хотите без полного постбэка, используйте UpdatePanel.
...
Рейтинг: 0 / 0
20.11.2012, 16:04
    #38045607
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
$("form").submit()
...
Рейтинг: 0 / 0
20.11.2012, 16:04
    #38045609
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMANНа клиенте можете проверить только валидность email и т.п
вот это и хотелось бы, но знаю как.
...
Рейтинг: 0 / 0
20.11.2012, 16:05
    #38045610
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
еще забыл добавить, что делаю сайт на MVC.
...
Рейтинг: 0 / 0
20.11.2012, 16:07
    #38045615
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Где-то в степи$("form").submit()
я же говорю, новичок я, мне это пока ни о чем не говорит, пожалуйста если можно, то с хоть какими нибудь пояснениями.
...
Рейтинг: 0 / 0
20.11.2012, 16:11
    #38045627
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Sanprofеще забыл добавить, что делаю сайт на MVC.
да какая разница, страницу будет обрабатывать рендерин старый, то и контролы формс для него валидные
разберитесь что предлегают из стандартных валидаторов, если уж конечно будет тесно в их рамках, будете готовить сами
а то что вам нужно, лежит с левой стороны, там все уже учтено и продумано, оно полностью и с лихвой перекрывает ваши потребности..
...
Рейтинг: 0 / 0
20.11.2012, 16:15
    #38045632
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
SanprofГде-то в степи$("form").submit()
я же говорю, новичок я, мне это пока ни о чем не говорит, пожалуйста если можно, то с хоть какими нибудь пояснениями.
да не надо пояснений, если вы в jq не в зуб, ну что я буду объяснять, это же целый мир, разберитесь что дают в столовке ( в студии), все придет со временем, начитайте с того что подают..
...
Рейтинг: 0 / 0
20.11.2012, 16:17
    #38045637
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Sanprof,

Используй валидаторы разные RequiredFieldValidator, RegularExpressionValidator и др. Помещаешь их на страницу, указываешь в них какой контрол проверять. Лучше еще почитать какую-нибудь книжку по ASP. NET, MVC :)
...
Рейтинг: 0 / 0
20.11.2012, 16:21
    #38045641
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
ок, щас еще почитаю про валидаторы, просто пока не слышал о них.
...
Рейтинг: 0 / 0
20.11.2012, 16:23
    #38045650
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Sanprofок, щас еще почитаю про валидаторы, просто пока не слышал о них.

Можешь конечно и без них обойтись, если javascript хоть немного знаешь. Делаешь метод проверки, напр. DataIsValid(){...}
а на OnClientClick="return DataIsValid();"
...
Рейтинг: 0 / 0
20.11.2012, 16:30
    #38045661
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMANМожешь конечно и без них обойтись, если javascript хоть немного знаешь. Делаешь метод проверки, напр. DataIsValid(){...}
а на OnClientClick="return DataIsValid();"
я вроде знаю, что js не сильно отличается от C# (его я знаю хорошо), само подключение к страничке я еще не до конца понял.
...
Рейтинг: 0 / 0
20.11.2012, 16:37
    #38045673
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
SanprofIRONMANМожешь конечно и без них обойтись, если javascript хоть немного знаешь. Делаешь метод проверки, напр. DataIsValid(){...}
а на OnClientClick="return DataIsValid();"
я вроде знаю, что js не сильно отличается от C# (его я знаю хорошо), само подключение к страничке я еще не до конца понял.

Всмысле подключение к страничке? Яваскрипта? Помести скрипт в тег head.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
<script type="text/javascript">
 function DataIsValid(){
  
 ....
  return false;
 ....
  return true;
}
</script>
...
Рейтинг: 0 / 0
20.11.2012, 16:53
    #38045702
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMAN, а как из скрипта обратиться к контролам на страничке?
...
Рейтинг: 0 / 0
20.11.2012, 16:57
    #38045713
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
еще хотел добавить, после валидации, нужно сформировать класс (у меня он User), заполнить его свойства значениями, которые ввел пользователь, и отдать экземпляр этого класса серверу.
Страница объявлена так
Код: plaintext
1.
<%@ Page Title="Регистрация" Language="C#" AutoEventWireup="true" MasterPageFile="~/Views/Shared/MainPage.Master" Inherits="System.Web.Mvc.ViewPage<MVC_Test1.Classes.User>" %>
...
Рейтинг: 0 / 0
20.11.2012, 17:03
    #38045720
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
SanprofIRONMAN, а как из скрипта обратиться к контролам на страничке?

Решил на чистом javascript? :) Это я как пример привел. В твоем случае лучше валидаторы рассмотреть, имхо. Они у тебя вместо
<span class="regStar">*</span> как раз при ошибке отображаться будут.

Ежели все-таки javascript, то получить контрол можно так:

Код: javascript
1.
2.
var loginTextBox = document.getElementById('<%=loginTextBox.ClientID%>');
//потом значение внутри текстбокса можно так получить: var vvv = loginTextBox.value;
...
Рейтинг: 0 / 0
20.11.2012, 17:07
    #38045728
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
Sanprof,

Разберешь эту статью - http://www.codeproject.com/Articles/422573/Model-Validation-in-ASP-NET-MVC - будешь гуру в валидации :)
...
Рейтинг: 0 / 0
20.11.2012, 17:11
    #38045735
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
IRONMAN, спасибо за статью, щас бум разбираться.
...
Рейтинг: 0 / 0
20.11.2012, 17:56
    #38045830
IRONMAN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
SanprofIRONMAN, спасибо за статью, щас бум разбираться.

Вообще все просто...

1) Создай в студии ASP.NET MVC приложение.
2) На странице LogOn.aspx размести строчку <% Html.EnableClientValidation(); %>
3) На мастере добавь скрипты
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>

После этого должна работать валидация на клиенте.
...
Рейтинг: 0 / 0
21.11.2012, 12:08
    #38046671
Sanprof
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма регистрации нового пользователя
нашел я один ресурс, там описано как использовать валидаторы прямо в штмл коде и не городить разных классов и не использовать конструкций типа "Html.TextBoxFor(m => m.Login)", но если использовать их подход, то мне нужно по нажатию на кнопку, если нет ошибок валидации, вернуть серверу мой класс заполненный полями, которые ввел пользователь, как это можно реализовать???
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Форма регистрации нового пользователя / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]