|
Hi,
User server side script to do this
Farogh Haider
Web developer
|
|
|
|
|
Hi,
I have a DataGrid that has a textbox within a template column that will populate a SQL DB.
The user can click on the edit button(s) to modify 3 different types of data in this column:
Account No
FirstName, LastName
Email Address
I have a custom validator that does server validation but I cannot work out (I am new to this) how to validate the 3 different types of data using a regular expression.
Although the validator correctly highlights the textboxes that do not match a single regex I would like to have a different regex for each textbox row within the grid. Is there any way I can do that. I have included the relevant bits of code below.
Thanks!
Graham
<asp:datagrid id="CPYInsert" runat="server"
="" autogeneratecolumns="False" backcolor="lightyellow" bordercolor="black" showfooter="false" cellpadding="3" cellspacing="0" font-size="12pt" headerstyle-backcolor="darkorange" headerstyle-forecolor="white">
<columns>
<asp:templatecolumn headertext="DataField">c
<itemtemplate>
<asp:label id="txtParam" width="100px" runat="server"
="" text="<%# DataBinder.Eval(Container.DataItem,"rtSchema") %>">
<asp:templatecolumn headertext="Parameter">
<itemtemplate>
<asp:textbox runat="server" id="txtParamData"
="" text="<%# Container.DataItem("Parameter") %>">
<asp:customvalidator id="WorkDateValidator" runat="server" display="Dynamic" controltovalidate="txtParamData" onservervalidate="ValidateEntry">*
<asp:boundcolumn datafield="Guidelines" headertext="Guidelines">
Sub ValidateEntry(sender As Object, args As ServerValidateEventArgs)
dim mymatch as match = System.Text.RegularExpressions.Regex.Match(args.value, "[0-9]{10}") 'I need to have 1 of these for each args.value returned
If Not myMatch.Success
args.IsValid = false
else
args.IsValid = true
End If
End Sub
|
|
|
|
|
For using Custom Validator and Regex
Graham Baxter wrote: args.IsValid = false
It Wont Stop the execution it will go the the Next event..!
But You can check the Event in the Button click I also got this problem .
I overcome it by Checking the args value in button click..!
But For You Case You have to go for client side validation..!
Here is the sample code i used for Custom Validation
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
try
{
int timetmp = Convert.ToInt32(EmailSettings.ReserErrorTime);
int time1 = timetmp + 15;
DateTime current = System.DateTime.Now.AddMinutes(time1).ToUniversalTime ();
if (txtReservationdate.Text != "")
{
string Date11 = ReserExactTime.Value;
string date12 = Date11.Substring(4, 21);
DateTime resertime = Convert.ToDateTime(date12);
if (resertime > current)
{
temp = true;
}
else
{
temp = false;
}
}
else
{
string Date11 = ReserExactTime.Value;
string date12 = Date11.Substring(4, 21);
DateTime resertime = Convert.ToDateTime(date12);
if (resertime > current)
{
temp = true;
}
else
{
temp = false;
}
}
}
catch (Exception ie)
{
logger.Error("ReserDate :-" + ie.Message, ie);
}
}
and i check it button click of the temp value..!
try this link for regex..!
http://msdn.microsoft.com/en-us/library/ms998267.aspx[^]
LatestArticle :Log4Net
Why Do Some People Forget To Mark as Answer .If It Helps.
|
|
|
|
|
The args.value that the validator sends back is 1 long string of the text in all 3 of the the textboxes (i.e. 112233JohnSmithjs@email.com) so I was trying to work out out to pick each textbox field out and validate it. However, based on the regex the validator does identify which textbox has incorrect data in it...
Thanks
Graham
|
|
|
|
|
Any specific reason why you wish to have only one regular expression/only one validator? How about having 3 separate validators for the 3 controls?
I'm not sure, but check if the sender object contains the control that raised the validation. i.e. check if sender can be used to identify the which text box you are validating and then use a switch case and use 3 different regex to validate the data.
HTH
|
|
|
|
|
I don't mind having 3 validators but I do not know how to assign them to the textbox values within the datagrid as it has only '1' id. Can you give me a pointer on how to do that?
Thanks
Graham
|
|
|
|
|
I'm very sorry for not reading through the code earlier. Now, based on the code that you have submitted, it looks like all the data is thrown together in the same text box - txtParamData. So, the validator gets just one data like this - 112233JohnSmithjs@email.com
Now to validate this with one regex is not going to be easy, unless the data is of common length or there would be some separator between the data items. Is the above sample a valid data or just some text? Is there anyway that you can enforce a rule on the user to use some separator between the data items? Can you not change the design to display the data items in separate text boxes?
|
|
|
|
|
There are actually 3 textboxes (contained within that one textbox id) in the datagrid and the user enters the data into each one seperately. The problem is the different data (account/name/email) is in different rows but the same column so I cannot find an easy way to validate them in that grid configuration.
Thanks
Graham
|
|
|
|
|
I've been looking for a free WYSIWYG html editor to add into my asp project. One thing I have found odd is that ALL of the editors, (including the high dollar ones) only insert a 20x20 place holder for the image instead of uploading the image.
What is up with this? Why is this feature even shown if the user can't actually upload the image?
Check out these demos to see what I'm talking about:
http://cutesoft.net/example/general.aspx[^]
http://freetextbox.com/demos/[^]
If my answer has helped you, one of my articles may also be a help. Also remember that your best friend's name is google.
|
|
|
|
|
Well, actually the image is uploaded to a temporary folder in the server before showing it in the htmlbox. There is no way to show an image directly from client, without uploading it to the server.
Now your duty is to find the temporary folder and move them to your location when the code uploads.
|
|
|
|
|
Hi,
Use Fckeditor, there is many facilities and you can upload an image directly
Farogh Haider
Web developer
|
|
|
|
|
Hi! I have a global variable which is initialized in Global.asax (in the Session_start event). Now I want using Javascript to update this variable and I don't know how to do that. Why I have to do that? Because I used javascript to create a small timer which, at every 10 minutes I want to increase the variable by 1. Can anyone help me please?
|
|
|
|
|
Hi Munteanu,
Create a page or a web service to increase your value. Use AJAX request to call the page/web service. For the web service you can use generated proxy javascript classes to call it. For the page you can use for example jquery to call it. http://docs.jquery.com/Ajax
|
|
|
|
|
Can you give me an example please? (with some code)
|
|
|
|
|
Hi,
just create ASP.NET page. On page_load increment your value.
public partial class my_page : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
}
from the JavaScript call your page:
$.get('my_page.aspx');
|
|
|
|
|
Are you sure this is the correct way to call the page in javascript: "$.get('my_page.aspx');"? I've tried and it's not working...
|
|
|
|
|
yes you have to download the jQuery library and add the script reference to it. It's just one file. Here: jQuery mini[^]
|
|
|
|
|
And how do I add the script reference and where should I put the file?
|
|
|
|
|
I've done it! Thanks a lot for your time and help!
|
|
|
|
|
Am using MS sql server 2005 database.
Table has 3 columns:
1)Id
2)Status
3)ExpireDate
If Expire Date is today then status has to become false otherwise true.
It has to done automatically. How to do it?
Please help me
|
|
|
|
|
This was already posted in the General Database forum. Please post in one forum only.
|
|
|
|
|
No one has answered for this question yet. If anybody knows answer it
|
|
|
|
|
Krishhhhhhhhhhhhhh wrote: No one has answered for this question yet. If anybody knows answer it
Be patient, this site isn't set up to provide immediate answers.
|
|
|
|
|
Then y u r there? I think To check cross post only?
|
|
|
|
|
No, I'm looking for questions to answer, but when I read the same question more than once I (like many others here) point out that you are abusing the forums. There is a protocol to be followed here and maybe if you are new you are not aware of it. Read the guidelines[^] for more information.
|
|
|
|