0

我有 jquery 验证引擎验证表单。例如,检查 mobileno 的代码已经存在于数据库中:

MobileNumber/Login Id : 
<input type="text"  class="k-textbox validate[required,custom[phone],ajax[ajaxMobileCallCfm]]  text-input" value="" name="mobileno"  id="mobileno"/>

并调用验证引擎

jQuery(document).ready(function()
{
            jQuery("#register").validationEngine();

});

语言文件中的内联验证规则(jquery.validationEngine-en)

"ajaxMobileCallCfm": {
                    "url": "checkmobileno.cfm",
                    "alertTextOk": "* This username is available",
                    "alertText": "* This user is already taken",
                    "alertTextLoad": "* Validating, please wait"
                }

和 checkmobileno.cfm

<cfset mobileno=#mobileno#>
<cfset arrayToJs = ArrayNew(2)>
  <cfif #mobileno# eq "8888888888">
    <cfset arrayToJs[1][1]="mobileno">
    <cfset arrayToJs[1][2]=true>
    <cfset arrayToJs[1][3]='This user is available'>
 <cfelse>
        <cfset arrayToJs[1][1]="mobileno">
        <cfset arrayToJs[1][2]=false>
        <cfset arrayToJs[1][3]='This user is already taken'>
  </cfif>

 <cfset theJSON = #SerializeJSON(arrayToJs)#>

<cfoutput> 
 #theJSON#
</cfoutput>

现在,检查移动设备是否可用于 blur 或 keyup 事件。

当我尝试使用数字时,它总是显示* 此用户已被占用。请帮助我解决问题所在。

谢谢

4

1 回答 1

0

正如西蒙所说,

<cfif mobileno eq "8888888888">
    <cfset arrayToJs[1][1]="mobileno">
    <cfset arrayToJs[1][2]=true>
    <cfset arrayToJs[1][3]='This user is available'>
<cfelse>

表示唯一可用的号码是 8888888888

我认为您的意思是 <cfif mobileno neq "8888888888">或尚未采用任何数字列表。我假设最终产品会检查数据库并且看起来更像<cfif not qUsedNumbers.recordCount>

还...

<cfset mobileno=#mobileno#> <!--- is redundant--->

<!--- and you don't need so many pound signs. --->
<cfset mobileno=#mobileno#> 
<!--- should be --->
<cfset mobileno=mobileno> 

<cfif #mobileno# eq "8888888888"> 
<!--- should be --->
<cfif mobileno eq "8888888888">

<cfset theJSON = #SerializeJSON(arrayToJs)#> 
<!--- should be --->
<cfset theJSON = SerializeJSON(arrayToJs)>
于 2013-04-19T12:02:43.283 回答