نمایش نتایج 1 تا 10 از 10

نام تاپیک: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

  1. #1

    چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    سلام دوستان.
    میشه توسط کنترل های اعتبار سنجی تعیین کنیم که نام های کاربری تکراری نباشه در دیتابیس و در صورت تکراری بودن اخطار بده؟؟
    اگه میشه با کدومش و چطوری

    2. من برای یکسان بودن فیلد های 2 textbox از کنترل comper validater استفاده میکنم ولی کدش رو نمی دونم یعنی میدونم باید بنویسم


    if(page.isvalidatur(



    اما اجرا نمیده.یعنی هم ثبت نام انجام میشه هم اخطار میده

  2. #2
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    باسلام:

    میتونید توسط یک UpdatePanel و Event مربوطه به OnTextChanged تکس باکس مورد نظر با یک متد Static این پروسه رو پیاده سازی کنید و در صورت وجود کاربر فوکس رو به همین کنترل بدید و یک متن خطا در لیبل کناری بنویسید و تکس باکس رو به رنگ قرمز تغییر بدید.


    با این راهنمایی ها شما شروع به نوشتن کنید در هر قسمت مشکل داشتید مطرح کنید.

  3. #3

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    اینا رو که گفتید من نفهمیدم ؟

  4. #4
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    نقل قول نوشته شده توسط raha1234567 مشاهده تاپیک
    اینا رو که گفتید من نفهمیدم ؟
    دوست من شما :
    شما میتونی فرم رو داخل یک کنترل UpdatePanel بزاری و AutoPostBack تکس باکسی که نام کاربری رو مشخص میکنه فعال کنید.
    حالا در رویداد OnTextChanged این تکس باکس میتونید عملیات چک کردن این که این نام کاربری در جدول پایگاه داده شما وجود دارد رو تست کنید.
    اگر وجود نداشت یک پیغام خطا در یک کنترل لیبل در کنار این تکس باکس بنویسید و رنگ این تکس باکس رو قرمز کنید و فکوس رو به این کنترل بفرستید.

    به مثال زیر دقت کنید:

    <asp:UpdatePanel runat="server" ID="up1">
    <ContentTemplate>
    Username: <asp:TextBox runat="server" id="Username"
    AutoPostBack="true" OnTextChanged="Username_Changed" />
    <div runat="server" id="UserAvailability"></div><br />
    </ContentTemplate>
    </asp:UpdatePanel>



    protected void Username_Changed(object sender, EventArgs e)
    {
    if (Membership.GetUser(Username.Text) != null)
    {
    UserAvailability.InnerText = "Username taken, sorry.";
    UserAvailability.Attributes.Add("class", "taken");
    }
    else
    {
    UserAvailability.InnerText = "Username available!";
    UserAvailability.Attributes.Add("class", "available");
    }
    }


    کد HTML:
    #UserAvailability {
      padding-left: 22px;
      background-position: left;
      background-repeat: no-repeat;
    }
     
    .taken {
      background-image: url(taken.gif);
    }
     
    .available {
      background-image: url(available.gif);
    }
    مثل شکل زیر:




    موفق باشید.

  5. #5
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    اگر از MemberShip استفاده نمی کنید میتونید رویداد بالا رو مثل زیر تغییر بدید:

    protected void Username_Changed(object sender, EventArgs e)
    {
    SqlDataReader rdr = null;
    SqlConnection con = null;
    SqlCommand cmd = null;

    try
    {
    // Open connection to the database
    string ConnectionString = "server=xeon;uid=sa;"+
    "pwd=manager; database=northwind";
    con = new SqlConnection(ConnectionString);
    con.Open();

    // Set up a command with the given query and associate
    // this with the current connection.
    string CommandText = "SELECT username tb WHERE (username=@username)";
    cmd = new SqlCommand(CommandText);
    cmd.Connection = con;

    // Add LastName to the above defined paramter @Find
    cmd.Parameters.Add(
    new SqlParameter(
    "@username", // The name of the parameter to map
    System.Data.SqlDbType.NVarChar, // SqlDbType values
    20, // The width of the parameter
    "username")); // The name of the source column

    // Fill the parameter with the value retrieved
    // from the text field
    cmd.Parameters["@username"].Value = username.Text;

    // Execute the query
    rdr = cmd.ExecuteReader();
    if(rdr.HasRows)
    som code ......

    }
    catch(Exception ex)
    {
    // Print error message
    MessageBox.Show(ex.Message);
    }
    finally
    {
    // Close data reader object and database connection
    if (rdr != null)
    rdr.Close();

    if (con.State == ConnectionState.Open)
    con.Close();
    }

    }

  6. #6
    کاربر دائمی آواتار razeghaik1
    تاریخ عضویت
    آبان 1389
    محل زندگی
    عسلویه
    پست
    258

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    دوستان یه مشکلی که اینجا هست اینه که وقتی ما قصد چک کردن تکراری نبودن ایمیل را در دیتا بیس داریم ابتدا کد مربوط به چک کردن اجرا می شود و بعد اعتبار سنجی ها برای نوشتن صحیح ایمیل !
    و این موضوع بسیار مشکل ساز است.به چه روشی می شود کاری کرد که ابتدا اعتبار سنجی با استفاده از کامپوننت های validation انجام شود و سپس عملیات مربوط به چک کردن ایمیل در دیتا بیس انجام شود؟!
    آیا روشی روجود دارد که بعد از اطمینان از اینکه اعتبار سنجی کامل صورت گرفت عملیات چک کردن در دیتا بیس انجام شود؟
    با تشکر فراوان

    اینم کد من


    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
    string un = TextBox1.Text;
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["con_mmobilepr"].ConnectionString.ToString());
    con.Open();
    SqlCommand cmd = new SqlCommand("login_site_un", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@un", un);
    SqlDataReader c = cmd.ExecuteReader();
    if (!c.Read())
    {
    Image2.Visible = false;
    Image1.Visible = true;
    Label22.Visible = true;
    Label22.Text = "این نام کاربری آزاد می باشد";
    Label22.ForeColor = System.Drawing.Color.Blue;
    }
    else
    {
    Image1.Visible = false;
    Image2.Visible = true;
    Label22.Visible = true;
    Label22.Text = "این نام کاربری قبلا ثبت شده است !";
    Label22.ForeColor = System.Drawing.Color.Red;
    TextBox1.Text = "";
    }
    }

  7. #7
    کاربر تازه وارد آواتار mdt414
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    Tehran
    سن
    36
    پست
    69

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    برای چک کردن آدرس ایمیل از regularexpression Validator استفاده کنید:
    <asp:RegularExpressionValidator ID="revEmail" runat="server" ControlToValidate="txtEmail"
    Display="Dynamic" ErrorMessage="آدرس ایمیل وارد شده صحیح نیست" ForeColor="Red"
    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">→</asp:RegularExpressionValidator>


    و برای بررسی نام کاربری که آیا تکراری هست یا نه از Custom Validator :

    <asp:CustomValidator ID="cvUserName" runat="server" ControlToValidate="txtUserName"
    Display="Dynamic" ErrorMessage="این نام کاربری در سیستم وجود دارد" ForeColor="Red"
    OnServerValidate="cvUserName_ServerValidate">→</asp:CustomValidator>

    و بعد در رویداد ServerValidate آن نام کاربری را بررسی کنید :


    if (نام کاربری قبلاً ثبت شده است)
    {
    args.IsValid=false;
    }
    else args.IsValid=true;


    و یادتون باشه که در دکمه ثبت اطلاعات قبل از هرچیز یک if بگذارید که در صورت تایید کد را اجرا کند:


    if (Page.IsValid)
    {
    // Write Your Submit Code Here
    }

  8. #8

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    و بعد در رویداد ServerValidate آن نام کاربری را بررسی کنید :


    if (نام کاربری قبلاً ثبت شده است)
    {
    args.IsValid=false;
    }
    else args.IsValid=true;


    دقیقا باید توی شرط if چی باید نوشت؟چطور باید نام کاربری که قبلا ثبت نام کرده بنویسم؟
    لطفا کمکم کنید خیلی عجله دارم.

  9. #9
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    نقل قول نوشته شده توسط shahlaj مشاهده تاپیک
    و بعد در رویداد ServerValidate آن نام کاربری را بررسی کنید :


    if (نام کاربری قبلاً ثبت شده است)
    {
    args.IsValid=false;
    }
    else args.IsValid=true;


    دقیقا باید توی شرط if چی باید نوشت؟چطور باید نام کاربری که قبلا ثبت نام کرده بنویسم؟
    لطفا کمکم کنید خیلی عجله دارم.
    https://barnamenevis.org/showthread.php?182386

  10. #10

    نقل قول: چگونه تکراری نبودن نام کاربری را در دیتابیس توسط کنترل های اعتبار سنجی بسنجد؟؟

    نقل قول نوشته شده توسط shahlaj مشاهده تاپیک
    و بعد در رویداد ServerValidate آن نام کاربری را بررسی کنید :


    if (نام کاربری قبلاً ثبت شده است)
    {
    args.IsValid=false;
    }
    else args.IsValid=true;


    دقیقا باید توی شرط if چی باید نوشت؟چطور باید نام کاربری که قبلا ثبت نام کرده بنویسم؟
    لطفا کمکم کنید خیلی عجله دارم.
    Untitled.png

    Untitled.png

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •