[ASP.Net]Regular expression non funzionante

di il
1 risposte

[ASP.Net]Regular expression non funzionante

[ASP.Net]Regular expression non funzionante Salve, ho uno strano problema con una regular expression che convalida la data,

la regular erxpression fa il controllo dd/mm/aaaa ed è qyesta:

(0[1-9]|1[012])[ /.](0[1-9]|[12][0-9]|3[01])[ /.](19|20)\d\d
il codice dove la utilizzo è questa:

private bool DataExpression(string data)
{
bool valid = false;
string pattern = @"(0[1-9]|1[012])[ /.](0[1-9]|[12][0-9]|3[01])[ /.](19|20)\d\d";
Regex date = new Regex(pattern);
Match m = date.Match(data);
valid = (m.Success) ? true : false;
return valid;
}
e la richiamo per un'altra funzione per l'inserimento:



public void insert(TextBox Data, string nome, TextBox oper, string cmp, string vend, TextBox phone, string rec, string extra, string recupero, string user, Label Errori, DropDownList Nominativo, DropDownList Campagna, DropDownList Vendita, DropDownList REC)
{

try
{
if (this.DataExpression(Data.Text.Trim()) == false)
throw new ArgumentException("Spiacente ma il Formato data non è corretto");

if (this.CheckPhone(phone, Errori) == false)
throw new ArgumentException("Il Campo Telefono deve iniziare con lo 0");


if (Nominativo.SelectedItem.Text.Trim() == "" || Campagna.SelectedItem.Text.Trim() == "" || Vendita.SelectedItem.Text.Trim() == "" || REC.SelectedItem.Text.Trim() == "")
throw new ArgumentException("I Campi Nominativo,Campagna,Vendita e REC sono campi Vuoti");



OleDbCommand cm = conn.CreateCommand();

conn.Open();

cm.CommandText = "INSERT INTO Operazioni(Data,oper,nominativo,campagna,vendita,telefono,rec,extrafile,recuperato,caricato)VALUES(@Data,@oper,@nominativo,@campagna,@vendita,@telefono,@rec,@extrafile,@recuperato,@caricato)";
cm.Parameters.Add("@Data", OleDbType.Date).Value = DateTime.Parse(Data.Text.Trim());
cm.Parameters.Add("@oper", OleDbType.VarChar).Value = oper.Text;
cm.Parameters.Add("@nominativo", OleDbType.VarChar).Value = nome;
cm.Parameters.Add("@campagna", OleDbType.VarChar).Value = cmp;
cm.Parameters.Add("@vendita", OleDbType.VarChar).Value = vend;
cm.Parameters.Add("@telefono", OleDbType.VarChar).Value = phone.Text.Trim();
cm.Parameters.Add("@rec", OleDbType.VarChar).Value = rec;
cm.Parameters.Add("@extrafile", OleDbType.VarChar).Value = extra;
cm.Parameters.Add("@recuperato", OleDbType.VarChar).Value = recupero;
cm.Parameters.Add("@caricato", OleDbType.VarChar).Value = user;

cm.ExecuteNonQuery();

Errori.Text = "Dato Inserito Correttamente";

Nominativo.SelectedIndex = 0;
oper.Text="";
Campagna.SelectedIndex = 0;
Vendita.SelectedIndex = 0;
phone.Text="";
REC.SelectedIndex = 0;
extrafile.SelectedIndex=0;
recuperato.SelectedIndex=0;


}
catch (OleDbException er)
{

Errori.Text = er.Message + er.StackTrace + er.Source;

}
catch (Exception errori)
{
Errori.Text = errori.Message;


}
finally
{
if (conn != null)
conn.Close();


}

}
Però non mi funziona mi dice che il formato è errato;
Mi potete aiutare per piacere?
Grazie[/code]

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte