这个jquery app如何验证用户名? (第三方脚本)

时间:2010-02-05 00:23:07

标签: php jquery validation

我想弄清楚的教程是这样的:
http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

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。所有这些邮政领域都来自哪里?我环顾四周,找不到带有这些名字的字段。

由于

2 个答案:

答案 0 :(得分:0)

php页面(或您想要使用的任何引擎/框架)采用以下帖子变量:

  • 电子邮件 ced@hotmail.com
  • firstname2 karnius
  • lastname2 karnius
  • 名称任何内容
  • user2 karnius

并返回truefalse作为整个回复。显示问题中定义的消息取决于它获得的响应。

答案 1 :(得分:0)

帖子数据如下所示:

validateValue=karnius&validateId=user&validateError=ajaxUser

validateId似乎是表单元素名称,validateError来自ajax[ajaxUser]

响应如下:

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

PHP代码可能如下所示:

<?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)));
?>

(显然,更复杂的处理程序可能会将其行为建立在validateIdvalidateError上。)