我想弄清楚的教程是这样的:
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
。所有这些邮政领域都来自哪里?我环顾四周,找不到带有这些名字的字段。
由于
答案 0 :(得分:0)
php页面(或您想要使用的任何引擎/框架)采用以下帖子变量:
并返回true
或false
作为整个回复。显示问题中定义的消息取决于它获得的响应。
答案 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)));
?>
(显然,更复杂的处理程序可能会将其行为建立在validateId
和validateError
上。)