all groups > inetserver asp general > december 2003 >
Hi! I use the '+' operator instead of '&' as it results in a null if any single argument is null, so you can do this: IF ISNULL(strArg1 + strArg2 + strArg3 + ... + strArgN) THEN CALL WreakHavoc And your code only makes sure that all entries are not blank -- If anything at all is filled in, it skips then THEN clause... [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
Gav, Hi again -- another post in this thread has relevant info as well -- Null and Empty String ("") are not the same, and my previous post (about using '+') will not work -- sorry! I did some quick testing to refresh my memory and blank fields do not return Null... So while my original post is relevant to Visual Basic, it won't help much with ASP stuff. One approach I've used is to preface my text field names with "req" for "required," soI'll have text fields named "reqtxtFName," "reqtxtLName" etc. then I cycle through all text fields with a "req" prefix like so: dim CtlName, bOK bOK = True For each CtlName in Request.Form if left(CtlName, 3) = "req" then bOK = bOK AND Request.Form(CtlName)<>"" Next If bOK Then 'Everthing was filled in... This is handy for forms with a lot of fields... Hope that helped... Kurt [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
As much as I respect Ray, his solution would only work if ALL the entries were blank. If even one of those had text, then his test could produce a false positive. Are you getting this from an HTML form somewhere? If you are, then another way to do it (call me old fashioned) is to use client-side script to validate the form entries before the user even submits the form. Make their browser do some of the work! [quoted text, click to view] >-----Original Message----- >You could concatenate them all: > >sStringSum = firstname & surname & address1 & town & county & country & >postcode & phone & email11 & email2 & password1 & password2 > >If Len(Trim(sStringSum)) = 0 Then > Response.Write "You didn't fill in anything." > Response.End >End If > >Ray at work > >"Gav" <gav1290@ntlworld.com> wrote in message >news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... >> Hi, >> At the moment i am checking that all the fields have been filled out, at >the >> moment i am using the following... >> >> if firstname = "" and surname = "" and address1 = "" and town = "" and >> county = "" and country = "" and postcode = "" and phone = "" and email11 >= >> "" and email2 = "" and password1 = "" and password2 = "" then >> >> is there a better more efficient way of doing this?? >> >> cheers, >> gav >> >> > > >.
If your client side validation is tight enough, you really shouldn't need to do much by way of server-side validation. The only thing I use ASP for is functions that JavaScript doesn't provide, such as Replace. If you're worried about people disabling scripting, one solution I've come up with is this: <script language="JavaScript"> document.write("<input type=\"submit\" value=\"Submit\">); </script> <noscript> In order to submit this form, your browser must have script enabled. </noscript> [quoted text, click to view] >-----Original Message----- >Hi, >Thanks for all the replies!!! much apreaciated. > >I've gone with stevens method, seems to be the tidyest. > >As suggested im also going to use a client side check first to reduce the >load on the server > >:) > > >"Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message >news:#sn8VkvzDHA.2116@TK2MSFTNGP11.phx.gbl... >> 'Make sure none of the boxes are empty (zero length) >> If len(firstname) = 0 or len(surname) = 0 or len (address1) = 0 or >len(town) >> = 0 or len(county) = 0 or len(country) = 0 or len (postcode) = 0 or >> len(phone) = 0 or len(email11) = 0 or len(email2) = 0 or len(password1) = >0 >> or len(password2) = 0 Then >> >> Using Len and "Or" instead of "And" is a much better way of doing it. >> There's probably also a "cleaner" way of doing it..... I just can't think >of >> one at the moment. >> >> -- >> Regards >> >> Steven Burn >> Ur I.T. Mate Group >> www.it-mate.co.uk >> >> Keeping it FREE! >> >> Disclaimer: >> I know I'm probably wrong, I just like taking part ;o) >> >> >> Gav <gav1290@ntlworld.com> wrote in message >> news:8liIb.471$Qr5.269154@newsfep2- win.server.ntli.net... >> > Hi, >> > At the moment i am checking that all the fields have been filled out, at >> the >> > moment i am using the following... >> > >> > if firstname = "" and surname = "" and address1 = "" and town = "" and >> > county = "" and country = "" and postcode = "" and phone = "" and >email11 >> = >> > "" and email2 = "" and password1 = "" and password2 = "" then >> > >> > is there a better more efficient way of doing this?? >> > >> > cheers, >> > gav >> > >> > >> >> > > >.
Good point! Ray, you're fired! [quoted text, click to view] >-----Original Message----- >"MDW" <anonymous@discussions.microsoft.com> wrote in message >news:017901c3cefa$1c556450$a101280a@phx.gbl... >> As much as I respect Ray, his solution would only work if >> ALL the entries were blank. If even one of those had text, >> then his test could produce a false positive. > >In addition, string concatenation is probably a more expensive operation >than checking the length of each string individually. Sorry Ray, but with >all due respect, I think you fell asleep at the wheel on this one. :) > >Regards, >Peter Foti > > >.
That's how I do it, unfortunately. Also, are you checking this on the client-side beforehand? It might be a good idea to do some form validation using Javascript, first, so you save yourself a trip to the server. [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
You could concatenate them all: sStringSum = firstname & surname & address1 & town & county & country & postcode & phone & email11 & email2 & password1 & password2 If Len(Trim(sStringSum)) = 0 Then Response.Write "You didn't fill in anything." Response.End End If Ray at work [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
This will only tell you that ALL the fields are empty. (if firstname is blank *and* surname is blank *and*...) I usually use client-side validation for this, I have a check for each form field in JavaScript, and if any field is empty, the form doesn't get submitted and they're asked to fill in the data. This way, the server doesn't have to do any work checking, and the user is told immediately instead of wasting time submitting data and waiting for the server to respond. You also have an easier time keeping track of the data they've filled in correctly, because you don't have to re-populate the form if it's never been submitted. Of course you check on the server as well, because some people don't allow JavaScript for some reason. But you can save a lot of time and server processing by stopping 99% of potential errors at the client. [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
Also, just to save you confusion in the future, null and empty string are *NOT* the same thing. \ [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
[quoted text, click to view] "MDW" <anonymous@discussions.microsoft.com> wrote in message news:017901c3cefa$1c556450$a101280a@phx.gbl... > As much as I respect Ray, his solution would only work if > ALL the entries were blank. If even one of those had text, > then his test could produce a false positive.
That was how he had his original code setup. I thought about questioning it but just decided against it. :] Ray at work
[quoted text, click to view] "MDW" <anonymous@discussions.microsoft.com> wrote in message news:017901c3cefa$1c556450$a101280a@phx.gbl... > As much as I respect Ray, his solution would only work if > ALL the entries were blank. If even one of those had text, > then his test could produce a false positive.
In addition, string concatenation is probably a more expensive operation than checking the length of each string individually. Sorry Ray, but with all due respect, I think you fell asleep at the wheel on this one. :) Regards, Peter Foti
I have yet to wake up this week. :] Ray at work [quoted text, click to view] "Peter Foti" <peterf@systolicNOSPAMnetworks.com> wrote in message news:vv3f9mnp0qmn2e@corp.supernews.com... > "MDW" <anonymous@discussions.microsoft.com> wrote in message > news:017901c3cefa$1c556450$a101280a@phx.gbl... > > As much as I respect Ray, his solution would only work if > > ALL the entries were blank. If even one of those had text, > > then his test could produce a false positive. > > In addition, string concatenation is probably a more expensive operation > than checking the length of each string individually. Sorry Ray, but with > all due respect, I think you fell asleep at the wheel on this one. :) > > Regards, > Peter Foti > >
Hi, At the moment i am checking that all the fields have been filled out, at the moment i am using the following... if firstname = "" and surname = "" and address1 = "" and town = "" and county = "" and country = "" and postcode = "" and phone = "" and email11 = "" and email2 = "" and password1 = "" and password2 = "" then is there a better more efficient way of doing this?? cheers, gav
'Make sure none of the boxes are empty (zero length) If len(firstname) = 0 or len(surname) = 0 or len(address1) = 0 or len(town) = 0 or len(county) = 0 or len(country) = 0 or len(postcode) = 0 or len(phone) = 0 or len(email11) = 0 or len(email2) = 0 or len(password1) = 0 or len(password2) = 0 Then Using Len and "Or" instead of "And" is a much better way of doing it. There's probably also a "cleaner" way of doing it..... I just can't think of one at the moment. -- Regards Steven Burn Ur I.T. Mate Group www.it-mate.co.uk Keeping it FREE! Disclaimer: I know I'm probably wrong, I just like taking part ;o) [quoted text, click to view] Gav <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
Hi, Thanks for all the replies!!! much apreaciated. I've gone with stevens method, seems to be the tidyest. As suggested im also going to use a client side check first to reduce the load on the server :) [quoted text, click to view] "Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message news:#sn8VkvzDHA.2116@TK2MSFTNGP11.phx.gbl... > 'Make sure none of the boxes are empty (zero length) > If len(firstname) = 0 or len(surname) = 0 or len(address1) = 0 or len(town) > = 0 or len(county) = 0 or len(country) = 0 or len(postcode) = 0 or > len(phone) = 0 or len(email11) = 0 or len(email2) = 0 or len(password1) = 0 > or len(password2) = 0 Then > > Using Len and "Or" instead of "And" is a much better way of doing it. > There's probably also a "cleaner" way of doing it..... I just can't think of > one at the moment. > > -- > Regards > > Steven Burn > Ur I.T. Mate Group > www.it-mate.co.uk > > Keeping it FREE! > > Disclaimer: > I know I'm probably wrong, I just like taking part ;o) > > > Gav <gav1290@ntlworld.com> wrote in message > news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > > Hi, > > At the moment i am checking that all the fields have been filled out, at > the > > moment i am using the following... > > > > if firstname = "" and surname = "" and address1 = "" and town = "" and > > county = "" and country = "" and postcode = "" and phone = "" and email11 > = > > "" and email2 = "" and password1 = "" and password2 = "" then > > > > is there a better more efficient way of doing this?? > > > > cheers, > > gav > > > > > >
No problem. -- Regards Steven Burn Ur I.T. Mate Group www.it-mate.co.uk Keeping it FREE! Disclaimer: I know I'm probably wrong, I just like taking part ;o) [quoted text, click to view] Gav <gav1290@ntlworld.com> wrote in message news:qLiIb.492$Qr5.276361@newsfep2-win.server.ntli.net... > Hi, > Thanks for all the replies!!! much apreaciated. > > I've gone with stevens method, seems to be the tidyest. > > As suggested im also going to use a client side check first to reduce the > load on the server > > :) > > > "Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message > news:#sn8VkvzDHA.2116@TK2MSFTNGP11.phx.gbl... > > 'Make sure none of the boxes are empty (zero length) > > If len(firstname) = 0 or len(surname) = 0 or len(address1) = 0 or > len(town) > > = 0 or len(county) = 0 or len(country) = 0 or len(postcode) = 0 or > > len(phone) = 0 or len(email11) = 0 or len(email2) = 0 or len(password1) = > 0 > > or len(password2) = 0 Then > > > > Using Len and "Or" instead of "And" is a much better way of doing it. > > There's probably also a "cleaner" way of doing it..... I just can't think > of > > one at the moment. > > > > -- > > Regards > > > > Steven Burn > > Ur I.T. Mate Group > > www.it-mate.co.uk > > > > Keeping it FREE! > > > > Disclaimer: > > I know I'm probably wrong, I just like taking part ;o) > > > > > > Gav <gav1290@ntlworld.com> wrote in message > > news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > > > Hi, > > > At the moment i am checking that all the fields have been filled out, at > > the > > > moment i am using the following... > > > > > > if firstname = "" and surname = "" and address1 = "" and town = "" and > > > county = "" and country = "" and postcode = "" and phone = "" and > email11 > > = > > > "" and email2 = "" and password1 = "" and password2 = "" then > > > > > > is there a better more efficient way of doing this?? > > > > > > cheers, > > > gav > > > > > > > > > > > >
Detecting Null? Null is defined as no valid data If a form field named, say, firstname, is left empty when submitting the form, then request.form.item("firstname") should return the contents of that form's field, i.e. a zero-length string, which is valid data, it is not? [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > Hi, > At the moment i am checking that all the fields have been filled out, at the > moment i am using the following... > > if firstname = "" and surname = "" and address1 = "" and town = "" and > county = "" and country = "" and postcode = "" and phone = "" and email11 = > "" and email2 = "" and password1 = "" and password2 = "" then > > is there a better more efficient way of doing this?? > > cheers, > gav > >
On Tue, 30 Dec 2003 17:10:50 -0000, "Gav" <gav1290@ntlworld.com> [quoted text, click to view] wrote: >Hi, >At the moment i am checking that all the fields have been filled out, at the >moment i am using the following... > >if firstname = "" and surname = "" and address1 = "" and town = "" and >county = "" and country = "" and postcode = "" and phone = "" and email11 = >"" and email2 = "" and password1 = "" and password2 = "" then > >is there a better more efficient way of doing this??
Client side verification would be more appropriate for this I would think. Besides, I'd just hit a space bar on all the fields so your code would accept it... :)
[quoted text, click to view] MDW wrote: > If your client side validation is tight enough, you really > shouldn't need to do much by way of server-side > validation. The only thing I use ASP for is functions that > JavaScript doesn't provide, such as Replace.
Unfortunately it is _impossible_ to write a secure application without doing server-side validation. A user can _always_ spoof input fields because the user has complete control of the client side of the interaction. For example, input may come from not a browser but from a Perl program that mimics a browser. Such a program can be impossible to detect. [quoted text, click to view] > If you're worried about people disabling scripting, one > solution I've come up with is this: > > <script language="JavaScript"> > > document.write("<input type=\"submit\" > value=\"Submit\">); > > </script> > > <noscript> > In order to submit this form, your browser must have > script enabled. > </noscript>
How to spoof the above: save the HTML page, open it in NotePad, edit out the <noscript>...</noscript> block, add the <input> fields, save the page again, load it into the browser and submit the form. Good Luck, Michael D. Kersey
Nobody mentioned it, so I thought I would....You may want to throw a trim in there to make sure that your fields aren't all spaces. firstname = trim(Request.Form("firstname")) [quoted text, click to view] "Gav" <gav1290@ntlworld.com> wrote in message news:qLiIb.492$Qr5.276361@newsfep2-win.server.ntli.net... > Hi, > Thanks for all the replies!!! much apreaciated. > > I've gone with stevens method, seems to be the tidyest. > > As suggested im also going to use a client side check first to reduce the > load on the server > > :) > > > "Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message > news:#sn8VkvzDHA.2116@TK2MSFTNGP11.phx.gbl... > > 'Make sure none of the boxes are empty (zero length) > > If len(firstname) = 0 or len(surname) = 0 or len(address1) = 0 or > len(town) > > = 0 or len(county) = 0 or len(country) = 0 or len(postcode) = 0 or > > len(phone) = 0 or len(email11) = 0 or len(email2) = 0 or len(password1) = > 0 > > or len(password2) = 0 Then > > > > Using Len and "Or" instead of "And" is a much better way of doing it. > > There's probably also a "cleaner" way of doing it..... I just can't think > of > > one at the moment. > > > > -- > > Regards > > > > Steven Burn > > Ur I.T. Mate Group > > www.it-mate.co.uk > > > > Keeping it FREE! > > > > Disclaimer: > > I know I'm probably wrong, I just like taking part ;o) > > > > > > Gav <gav1290@ntlworld.com> wrote in message > > news:8liIb.471$Qr5.269154@newsfep2-win.server.ntli.net... > > > Hi, > > > At the moment i am checking that all the fields have been filled out, at > > the > > > moment i am using the following... > > > > > > if firstname = "" and surname = "" and address1 = "" and town = "" and > > > county = "" and country = "" and postcode = "" and phone = "" and > email11 > > = > > > "" and email2 = "" and password1 = "" and password2 = "" then > > > > > > is there a better more efficient way of doing this?? > > > > > > cheers, > > > gav > > > > > > > > > > > >
Don't see what you're looking for? Try a search.
|
|
|