PDA

View Full Version : سوال: از کار افتادن کنترل های validation



yayan85
دوشنبه 19 دی 1390, 00:30 صبح
سلام.من در فرم عضویت اعضا، برای کادر های متن کنترل validation گذاشته ام. برای چک کردن خالی نبودن کادر ها، صحت فرمت ایمیل وارد شده و...قبلا درست کار می کردند ولی الان(فکر کنم بعد از اضافه کردن چک کردن کد امنیتی) اصلا کار نمی کنند. قشنگ یه رکورد خالی توی بانک ثبت میشه!!!کد دکمه ثبتم رو گذاشتم.وقتی یک دکمه خالی می ذارم و روش کلیک می کنم کار می کنن.لطفا کمک کنید.result رشته تولید شده کد امنیتی هست.

string Result = (string)Session["Result"];
if (TextBox2.Text == Result)
{


SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["pisoftConnectionString"].ConnectionString.ToString() );

string query = "insert into tbl_user(name,lname,username,saltavalod,city,email ,pass1,accunt)values(@name,@lname,@username,@salta valod,@city,@email,@pass,'karbar')";

SqlCommand cmd = new SqlCommand(query, con);

cmd.Parameters.AddWithValue("@name", txt_name.Text );
cmd.Parameters.AddWithValue("@lname", txt_lname.Text);
cmd.Parameters.AddWithValue("@username", txt_karbari.Text );
cmd.Parameters.AddWithValue("@saltavalod", txt_tavalod.Text );
cmd.Parameters.AddWithValue("@city",drp_city.Text );
cmd.Parameters.AddWithValue("@email", txt_email.Text );
cmd.Parameters.AddWithValue("@pass", txt_pass1.Text );
con.Open();
cmd.ExecuteNonQuery();
con.Close();

pm.Visible = true;
pm.Text = "ثبت با موفقیت انجام شد";
}
else
{
Label12.Visible = true;
Label12.Text = "کد امنیتی را صحیح وارد نمائید";
}
}

fakhravari
دوشنبه 19 دی 1390, 00:48 صبح
از ابدیت پنل استفاده میکنید؟

hamid_shrk
دوشنبه 19 دی 1390, 08:20 صبح
به دکمتون validation group دادین احتمالا.

yayan85
دوشنبه 19 دی 1390, 11:23 صبح
به دکمتون validation group دادین احتمالا.

بله. validation group دادم.validation group دکمه ثبت و validation ها a هست و validation group دکمه جدید b هست. با همین روال قبلا کار می کردند.

hamid_shrk
دوشنبه 19 دی 1390, 11:24 صبح
اگه میشه کدت html رو بزار

yayan85
دوشنبه 19 دی 1390, 11:24 صبح
از ابدیت پنل استفاده میکنید؟

خیر.نمی دونم چیه!!!

programer-ir
دوشنبه 19 دی 1390, 11:40 صبح
پس
if(Page.IsValid)


کجا گذاشتی ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

yayan85
دوشنبه 19 دی 1390, 11:59 صبح
پس
if(Page.IsValid)


کجا گذاشتی ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


:اشتباه: هیچ جا.کجا باید بذارم؟؟؟:متفکر:

programer-ir
دوشنبه 19 دی 1390, 12:26 عصر
if(Page.IsValid)

{
string Result = (string)Session["Result"];
if (TextBox2.Text == Result)
{


SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["pisoftConnectionString"].ConnectionString.ToString() );

string query = "insert into tbl_user(name,lname,username,saltavalod,city,email ,pass1,accunt)values(@name,@lname,@username,@salta valod,@city,@email,@pass,'karbar')";

SqlCommand cmd = new SqlCommand(query, con);

cmd.Parameters.AddWithValue("@name", txt_name.Text );
cmd.Parameters.AddWithValue("@lname", txt_lname.Text);
cmd.Parameters.AddWithValue("@username", txt_karbari.Text );
cmd.Parameters.AddWithValue("@saltavalod", txt_tavalod.Text );
cmd.Parameters.AddWithValue("@city",drp_city.Text );
cmd.Parameters.AddWithValue("@email", txt_email.Text );
cmd.Parameters.AddWithValue("@pass", txt_pass1.Text );
con.Open();
cmd.ExecuteNonQuery();
con.Close();

pm.Visible = true;
pm.Text = "ثبت با موفقیت انجام شد";
}
else
{
Label12.Visible = true;
Label12.Text = "کد امنیتی را صحیح وارد نمائید";
}
}

}

fakhravari
دوشنبه 19 دی 1390, 12:44 عصر
دستور کلیک باتن

yayan85
دوشنبه 19 دی 1390, 13:24 عصر
programmer-ir عزیز ممنون از جوابت. اضافه کردم.این خطا را میگیره


Page.IsValid cannot be called before validation has taken place. It should be queried in the event handler for a control that has CausesValidation=True and initiated the postback, or after a call to Page.Validate.

programer-ir
دوشنبه 19 دی 1390, 13:39 عصر
قبل از اجرا این خطا رو می ده یا بعد از اجرا

yayan85
دوشنبه 19 دی 1390, 14:03 عصر
قبل از اجرا این خطا رو می ده یا بعد از اجرا

اجرا می کنم پروژه اجرا میشه. من کادر های متن رو خالی می ذارم که ببینم پیغام خطا می ده یا نه ،روی دکمه ثبت که کلیک می کنم این خطا را میده. :ناراحت:

fakhravari
دوشنبه 19 دی 1390, 14:03 عصر
همه قسمت ها ValidationGroup دارند

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"
ValidationGroup="g1" />

<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="g1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"
ValidationGroup="g1"></asp:RequiredFieldValidator>

yayan85
دوشنبه 19 دی 1390, 14:34 عصر
بله.همه دارند.وقتی یک دکمه خالی(بدون کد) با validation group یکی (a) میذارم و روش کلیک می کنم همشون کار می کنند .

hamid_shrk
دوشنبه 19 دی 1390, 14:37 عصر
دوست من کد html تون رو بذارید مشکل رو حل کنم

programer-ir
دوشنبه 19 دی 1390, 14:41 عصر
بهترین کار اینه که همه ولیدیشن ها رو پاک کنی و از دوباره بزاری و تست کنی

yayan85
دوشنبه 19 دی 1390, 15:05 عصر
دوست من کد html تون رو بذارید مشکل رو حل کنم

بفرمائید.فقط button3 دکمه ثبت هست و button2 دکمه جدید.


<div id="newuser">

<table style="width:91%; height: 235px; margin-right: 10px; text-align: right;"
align="center">
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server"
ControlToValidate="txt_name" ErrorMessage="نام را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_name" runat="server" Font-Names="Tahoma"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label3" runat="server" Text="نام" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txt_lname" ErrorMessage="نام خانوادگی را وارد نمائید"
ValidationGroup="a" Font-Names="Tahoma" Font-Size="Small"></asp:RequiredFieldValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_lname" runat="server" Font-Names="Tahoma"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label4" runat="server" Text="نام خانوادگی" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txt_karbari" ErrorMessage="نام کاربری را وارد نمائید"
ValidationGroup="a" Font-Names="Tahoma" Font-Size="Small"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="txt_karbari" ErrorMessage="نام کاربری تکراری است"
onservervalidate="CustomValidator1_ServerValidate1" Font-Names="Tahoma"
Font-Size="Small" ValidationGroup="a"></asp:CustomValidator>
</td>
<td class="style10">
<asp:Label ID="Label13" runat="server" ForeColor="#CC3300" Text="Label"
Visible="False"></asp:Label>
<asp:TextBox ID="txt_karbari" runat="server" Font-Names="Tahoma"
ValidationGroup="a" ontextchanged="txt_karbari_TextChanged"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label7" runat="server" Text="نام کاربری" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>

<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="drp_city"
ErrorMessage="نزدیک ترین شهر به شهر خود را انتخاب نمائید "
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
</td>
<td class="style10">
<asp:DropDownList ID="drp_city" runat="server" DataSourceID="SqlDataSource1"
DataTextField="cityname" DataValueField="cityname" ValidationGroup="a"
Font-Names="Tahoma" Font-Size="Small">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:pisoftConnectionString %>"
SelectCommand="SELECT [cityname] FROM [city]"></asp:SqlDataSource>
<br />
<asp:Label ID="Label15" runat="server" Font-Names="Tahoma" Font-Size="X-Small"
ForeColor="#CC3300" Text="نزدیک ترین شهر به شهر خود را انتخاب نمائید"></asp:Label>
</td>
<td class="style11">
<asp:Label ID="Label6" runat="server" Text="شهر" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server"
ControlToValidate="txt_tavalod" ErrorMessage="سال تولد را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="txt_tavalod"
ErrorMessage="دو رقم آخر سال تولد را وارد نمائید" MaximumValue="95"
MinimumValue="10" Font-Names="Tahoma" Font-Size="Small"
ValidationGroup="a"></asp:RangeValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_tavalod" runat="server" Font-Names="Tahoma" Width="55px"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label1" runat="server" Text="سال تولد" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>

<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server"
ControlToValidate="txt_email" ErrorMessage="ایمیل را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txt_email" ErrorMessage="آدرس ایمیل را صحیح وارد نمائید"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Font-Names="Tahoma" Font-Size="Small"></asp:RegularExpressionValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_email" runat="server" Font-Names="Tahoma" Width="171px"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label8" runat="server" Text="ایمیل" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server"
ControlToValidate="txt_pass1" ErrorMessage="رمز عبور را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_pass1" runat="server" TextMode="Password"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label2" runat="server" Text="رمز عبور" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server"
ControlToValidate="txt_pass2" ErrorMessage="تکرار رمز عبور را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="txt_pass2" ControlToValidate="txt_pass1"
ErrorMessage="تکرار رمز عبور اشتباه است" Font-Names="Tahoma"
Font-Size="Small" ValidationGroup="a"></asp:CompareValidator>
</td>
<td class="style10">
<asp:TextBox ID="txt_pass2" runat="server" TextMode="Password"
ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label5" runat="server" Text="تکرار رمز عبور" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>

<tr>
<td class="style7">
<asp:Button ID="Button4" runat="server" Text="تصویر جدید"
onclick="Button4_Click" ValidationGroup="b" />
</td>
<td class="style10">
&nbsp;&nbsp;&nbsp;
<asp:ImageButton ID="ImageButton1" runat="server" Height="22px"
ImageUrl="~/images/refresh.jpg" onclick="ImageButton1_Click"
ValidationGroup="b" Width="26px" />
<asp:Image ID="Image1" runat="server" />
<%--<asp:Image ID="Image2" runat="server" ImageUrl="Security Code.ashx" />--%>
</td>
<td class="style11">
<asp:Label ID="Label9" runat="server" Text="کد امنیتی" Font-Names="Tahoma"
Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox2" ErrorMessage="کد امنیتی را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small" ValidationGroup="a"></asp:RequiredFieldValidator>
<asp:Label ID="Label12" runat="server" ForeColor="#CC3300" Text="Label"
Visible="False"></asp:Label>
</td>
<td class="style10">
<asp:Label ID="Label14" runat="server"
Text="کد امنیتی به حروف بزرگ و کوچک حساس می باشد" Font-Names="Tahoma"
Font-Size="X-Small" ForeColor="#CC3300"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server" ValidationGroup="a"></asp:TextBox>
</td>
<td class="style11">
<asp:Label ID="Label10" runat="server" Text="کد امنیتی بالا را وارد نمائید"
Font-Names="Tahoma" Font-Size="Small"></asp:Label>
</td>
</tr>
<tr>
<td class="style7">
&nbsp;</td>
<td class="style10">
<asp:Label ID="pm" runat="server" Text="Label" Visible="False"
Font-Names="Tahoma" Font-Size="Medium" ForeColor="#3333CC"></asp:Label>
</td>
<td class="style11">
&nbsp;</td>
</tr>
<tr>
<td class="style7">
<asp:Button ID="Button5" runat="server" Text="Button" ValidationGroup="a" />
</td>
<td class="style10">
<asp:Button ID="Button2" runat="server" Text="جدید" Font-Bold="True"
Font-Names="Tahoma" onclick="Button2_Click" ValidationGroup="b" />
</td>
<td class="style11">
<asp:Button ID="Button3" runat="server" onclick="Button3_Click"
Text="ثبت نام" Font-Bold="True" Font-Names="Tahoma"
CausesValidation="False" ValidationGroup="a" />
</td>
</tr>
</table>

</div>

hamid_shrk
دوشنبه 19 دی 1390, 15:25 عصر
مشکلت اینه که واسه دکمی ثبت نامت گذاشتی :


CausesValidation="False"

برش دار

yayan85
دوشنبه 19 دی 1390, 15:33 عصر
مشکلت اینه که واسه دکمی ثبت نامت گذاشتی :


CausesValidation="False"

برش دار

دمت گرم.درست شد. ممنونم.:قلب::لبخندساده:از بقیه دوستان هم تشکر می کنم که پی گیر مشکلم بودن.

hamid_shrk
دوشنبه 19 دی 1390, 15:36 عصر
دوست من تو پست 5 هم گفتم کد رو بزار چون میدونسم مشکل جزئیه ولی شما توجه نکردین
به هر حال موفق باشید