By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,515 Members | 1,363 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,515 IT Pros & Developers. It's quick & easy.

detecting null

P: n/a
Gav
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
Jul 19 '05 #1
Share this Question
Share on Google+
19 Replies


P: n/a
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" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #2

P: n/a
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.
"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #3

P: n/a
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.


"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #4

P: n/a
'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 <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #5

P: n/a
Also, just to save you confusion in the future, null and empty string are
*NOT* the same thing.
\
"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #6

P: n/a
MDW
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!
-----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" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

.

Jul 19 '05 #7

P: n/a
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

:)
"Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message
news:#s**************@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 <ga*****@ntlworld.com> wrote in message
news:8l******************@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


Jul 19 '05 #8

P: n/a
MDW
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>
-----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 theload on the server

:)
"Steven Burn" <nobody@PVT_it-mate.co.uk> wrote in message
news:#s**************@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 thinkof
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 <ga*****@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 = "" andemail11
=
> "" and email2 = "" and password1 = "" and password2

= "" then >
> is there a better more efficient way of doing this??
>
> cheers,
> gav
>
>


.

Jul 19 '05 #9

P: n/a
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)
Gav <ga*****@ntlworld.com> wrote in message
news:qL******************@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:#s**************@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 <ga*****@ntlworld.com> wrote in message
news:8l******************@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



Jul 19 '05 #10

P: n/a

"MDW" <an*******@discussions.microsoft.com> wrote in message
news:01****************************@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


Jul 19 '05 #11

P: n/a
"MDW" <an*******@discussions.microsoft.com> wrote in message
news:01****************************@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
Jul 19 '05 #12

P: n/a
I have yet to wake up this week. :]

Ray at work

"Peter Foti" <pe****@systolicNOSPAMnetworks.com> wrote in message
news:vv************@corp.supernews.com...
"MDW" <an*******@discussions.microsoft.com> wrote in message
news:01****************************@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

Jul 19 '05 #13

P: n/a
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?
"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #14

P: n/a
MDW
Good point!

Ray, you're fired!
-----Original Message-----
"MDW" <an*******@discussions.microsoft.com> wrote in messagenews:01****************************@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 operationthan checking the length of each string individually. Sorry Ray, but withall due respect, I think you fell asleep at the wheel on this one. :)
Regards,
Peter Foti
.

Jul 19 '05 #15

P: n/a
On Tue, 30 Dec 2003 17:10:50 -0000, "Gav" <ga*****@ntlworld.com>
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... :)

Jeff
Jul 19 '05 #16

P: n/a
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...
"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #17

P: n/a
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

"Gav" <ga*****@ntlworld.com> wrote in message
news:8l******************@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

Jul 19 '05 #18

P: n/a
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.
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

Jul 19 '05 #19

P: n/a
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"))
"Gav" <ga*****@ntlworld.com> wrote in message
news:qL******************@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:#s**************@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 <ga*****@ntlworld.com> wrote in message
news:8l******************@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



Jul 19 '05 #20

This discussion thread is closed

Replies have been disabled for this discussion.