вы делаете это лучше всего на стороне сервера, когда вы выполняете проверку или санитарию, вы всегда работаете на стороне сервера, чтобы снизить риски.
Во-первых, вы должны понимать, что ваш код должен быть абстрактным, чтобы вам не нужно было писать конкретные сообщения об ошибках в javascript.
Итак, вы хотите отправить всю информацию на сервер, получить ее и вернуть сообщение об успехе / ошибке + с сервера следующим образом:
$.ajax({
type:"POST",
url:"Data.php",
data:{
name:$("#name").val(),
sex:$("#sex").val()
},
beforeSend:function(){
$("#display").html("Loading...");
},
success:function(data)
{
if(data.error)
{
//Use data.error to alert the user
}else
{
//Use data.message to alert the user
}
},
error:function(data){
alert("Server Error");
}
});
так что ваш javascript в принципе правильный, но вы устанавливаете статическое сообщение с помощью javascript, это не лучшая идея в долгосрочной перспективе.
так что с вашим php вы бы проверили данные как sio:
$name = !empty($_REQUEST['name']) ? $_REQUEST['name'] : false;
$sex = !empty($_REQUEST['sex']) ? $_REQUEST['sex'] : false;
$response = array();
if($name && $sex)
{
//Load your xml into an array
foreach($badword as $word)
{
if(strstr($name,$word))
{
$response["error"] = "Name contains a restricted word (" . $word . ")";
break 2; //Get out the foreach
}
}
//Validate other items
}
if(!isset($responce["error"]))
{
$response["success"] = true;
$response["message"] = "Data has been validated";
}
echo json_encode($response);
exit;