2010-02-05 18 views
1

,我試圖弄清楚該教程是這樣的:
http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/這個jquery應用程序如何驗證用戶名? (第三方腳本)

username場看起來是這樣的:

<input value="" class="validate[required,custom[noSpecialCaracters],length[0,20],ajax[ajaxUser]]" type="text" name="user" id="user" /> 

<input>領域擁有一流的項目名爲ajax[ajaxUser]該腳本中包含其規則(jquery.validationEngine-en.js)。

該項目的片段看起來是這樣的:

"ajaxUser":{ 
    "file":"validateUser.php", 
    "extraData":"name=eric", 
    "alertTextOk":"* This user is available", 
    "alertTextLoad":"* Loading, please wait", 
    "alertText":"* This user is already taken"}, 

我根本無法弄清楚什麼是它如何PHP頁面正在這validateUser.php。這些郵政領域從哪裏來?我環顧四周,找不到有這些名字的字段。

感謝

+3

http://stackoverflow.com/questions/464616/dynamic-backgroundimages-php-gd/1128902#1128902不錯。 –

回答

0

PHP頁面(或任何引擎/框架您想使用)採用以下職位變量:

  • 電子郵件 [email protected]
  • FIRSTNAME2 karnius
  • lastname2 karnius
  • 什麼
  • user2的 karnius

,再返回truefalse作爲整個響應。在你的問題中定義的消息根據它得到的響應來顯示。

0

POST數據是這樣的:

validateValue=karnius&validateId=user&validateError=ajaxUser 

看來,validateId是表單元素的名稱和validateError來自ajax[ajaxUser]

的迴應是這樣的:

{"jsonValidateReturn":["user","ajaxUser","true"]} 

的PHP代碼可能看起來是這樣的:(顯然,一個更復雜的處理程序可以立足於validateIdvalidateError其行爲)

<?php 
    $result = mysql_query('SELECT 1 FROM users WHERE username = "'.mysql_real_escape_string($_POST['validateValue']).'"'); 
    $response = $result ? 'false' : 'true'; 
    echo json_encode(array('jsonValidateReturn' => array(
     $_POST['validateId'], 
     $_POST['validateError'], 
     $response))); 
?>