Ich benutze Visual Studio 4.6.01038, und ich bin ziemlich neu in ASP.NET. Ich habe eine sehr einfache Registrierungsseite, auf der der Benutzer seinen Namen, seine Straße und seine Telefonnummer eingibt. Ich möchte die Eingabe in der Eingabebox so steuern, dass der Benutzer sie auf bestimmte Weise schreiben muss.Wie kann ich Benutzereingaben in ASP.NET überprüfen?
1) Name/Benutzername Feld nicht leer sein muss, und darf keine Zahlen
2) Straßennamen mit Buchstaben beginnen soll, dann sollte es einen Raum, dann sollte es eine Zahl sein, z.B. 12 Straße
3) die Telefonnummer muss nur Zahlen enthalten
Wenn der Benutzer wählen, anders als diese Formate, wird er wieder betreten gefragt. Nun, alle diejenigen, die gesagt werden, ich suche nach einer einfacheren Möglichkeit, es zu tun. [Kann von der Registerkarte Eigenschaften dieses bestimmten Textfeld sein?] Oder Wenn ich es programmgesteuert mache, wo soll ich es tun und wie? Hier
ist der Code, an dem ich arbeite:
Register.aspx:
<form id="form1" runat="server">
<div>
Name<asp:TextBox ID="namebox" runat="server" OnTextChanged="namebox_TextChanged"></asp:TextBox>
<br /> <br />
Street<asp:TextBox ID="streetbox" runat="server"></asp:TextBox>
<br /> <br />
Phone Number <asp:TextBox ID="phonebox" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Register" OnClick="Button1_Click" /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br /><br />
</div>
</form>
Register.aspx.cs:
protected void Button1_Click(object sender, EventArgs e)//register button
{
try
{
SqlCommand myCommand = new SqlCommand();
//SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings("Data Source=(LocalDB);MSSQLLocalDB;AttachDbFilename=|DataDirectory|;Database.mdf;Integrated Security=True"));
SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\lab1.mdf;Integrated Security=True");
//SqlConnection conn = new SqlConnection("ConnectionStringBooks");
conn.Open();
myCommand = new SqlCommand("INSERT INTO userdata(username, street, telephonenum) VALUES ('" + namebox.Text + "','" + streetbox.Text + "','" + phonebox.Text + "')", conn);
myCommand.ExecuteNonQuery();
Response.Redirect("~/Store.aspx?name="+namebox.Text+"");
}
catch (Exception ex)
{
Label1.Text = ex.Message;
Label1.Visible=true;
}
}
Ich würde vorschlagen, regex die Gültigkeit/Format der Eingabe zu überprüfen: https://msdn.microsoft.com/en-us/library/ms972966.aspx –
'Straßenname soll mit Buchstaben beginnen, dann sollte es ein Leerzeichen sein, dann sollte es eine Nummer sein 'Ich fordere Sie dringend dazu auf zu lesen [Falschheitsprogrammierer glauben an Adressen] (https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-address /) –
'die Telefonnummer darf NUR Zahlen enthalten 'dito [Unwahrheiten Programmierer glauben über Telefonnummern] (https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS. md) –