Наконец-то удалось заставить его работать.
Шаг 1 - Сначала получил форму HTML. В поле ввода, где должно быть введено имя пользователя, вы должны добавить правила проверки, которые вы хотите применить к нему, в моем случае это:
<input type="text" name="user_login" id="user_login" class="validate[required,length[5,15],ajax[ajaxUser]]" value="Username"/>
«обязательный», потому что это обязательное поле, «длина [5,15]» помогает сузить поиск, а «ajax [ajaxUser]» - это наше пользовательское правило регулярных выражений.
Шаг 2 - Для доступа к базе данных используется этот dbConnector.php:
<?php
class DbConnector {
var $theQuery;
var $link;
function DbConnector(){
// Get the main settings from the array we just loaded
$host = 'HOST';
$db = 'DATABASE';
$user = 'root';
$pass = 'root';
// Connect to the database
$this->link = mysql_connect($host, $user, $pass);
mysql_select_db($db);
register_shutdown_function(array(&$this, 'close'));
}
//*** Function: query, Purpose: Execute a database query ***
function query($query) {
$this->theQuery = $query;
return mysql_query($query, $this->link);
}
//*** Function: fetchArray, Purpose: Get array of query results ***
function fetchArray($result) {
return mysql_fetch_array($result);
}
//*** Function: close, Purpose: Close the connection ***
function close() {
mysql_close($this->link);
}
}
?>
Просто нужно заменить значения $ host, $ db, $ user и $ pass на значения, соответствующие вашему серверу и базе данных.
Шаг 3 - Затем создайте файл validateUser.php, который будет принимать значения из базы данных, сравнивать их с информацией, введенной в поле ввода, и сообщать проверке js результат сравнения .
<?php
/* RECEIVE VALUE */
$validateValue=$_POST['validateValue'];
$validateId=$_POST['validateId'];
$validateError=$_POST['validateError'];
/* RETURN VALUE */
$arrayToJs = array();
$arrayToJs[0] = $validateId;
$arrayToJs[1] = $validateError;
include("dbConnector.php");
$connector = new DbConnector();
$query = "SELECT user_login FROM wp_users WHERE user_login = '$validateValue' LIMIT 1";
$result = $connector->query($query);
$num = mysql_num_rows($result);
if($num == 0){ // validate??
$arrayToJs[2] = "true"; // RETURN TRUE
echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}'; // RETURN ARRAY WITH success
}else{
for($x=0;$x<1000000;$x++){
if($x == 990000){
$arrayToJs[2] = "false";
echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}'; // RETURN ARRAY WITH ERROR
}
}
}
mysql_close();
Шаг 4 - Полностью забыл об этом важном шаге. Вы должны открыть файл jquery.validationEngine-en.js и указать свое правило для регулярных выражений.
Ищите этот комментарий: «// Добавьте здесь свои правила регулярных выражений, вы можете взять телефон в качестве примера» и добавьте новое правило под ним:
"ajaxUser":{
"file":"./wp-content/themes/AtelierMomoni/library/js/validateUser.php",
"alertTextOk":"* Great! This username is available",
"alertTextLoad":"* Loading, please wait",
"alertText":"* Sorry, this username already been taken"},
Вот и все!