Coldfusion 8: IsDefined ('URL.variable') и не является ""? - PullRequest
6 голосов
/ 09 ноября 2010

Я пытаюсь выяснить, существует ли переменная url, и если нет, убедитесь, что она не пуста.

Это не работает:

<cfif IsDefined('URL.affiliateId') and is not "">
    //
</cfif>

Ответы [ 5 ]

15 голосов
/ 09 ноября 2010
<cfif structKeyExists(url, 'affiliateID') and trim(url.affiliateID) neq "">...</cfif>
4 голосов
/ 09 ноября 2010

Вы также можете немного упростить логику, используя , чтобы гарантировать, что переменная URL всегда существует.Тогда вместо того, чтобы иметь 2 условия, вам просто нужно 1.

<cfparam name="URL.affiliateId" type="string" default="" />

<cfif trim( URL.affiliateId ) is not "">
     do stuff here
</cfif>
1 голос
/ 09 ноября 2010

Чтобы игнорировать большинство пробелов

<cfif IsDefined('URL.affiliateId') and len(trim(URL.affiliateId))>
    value is defined and not empty
</cfif>

... или поочередно

<cfif IsDefined('URL.affiliateId') and len(trim(URL.affiliateId)) gt 0>
    value is defined and not empty
</cfif>
0 голосов
/ 10 ноября 2010

Я просто подытожу ответы и предложу свою версию:

<cfparam name="URL.affiliateId" type="string" default="" />

<cfif len(trim(URL.affiliateId))>
     ...do something with the affiliate...
</cfif>

Вам не нужны structKeyExists или isDefined, и было бы лучше их избежать.Также вам не нужна часть «больше нуля» после len ().

0 голосов
/ 09 ноября 2010
<cfif IsDefined('URL.affiliateId') and URL.affiliateId neq "">
    //
</cfif>
...