im использование в первый раз ajax с проверкой laravel, но у меня есть некоторые проблемы с тем, как интегрировать их с ними, как я могу сообщить свой код проверки laravel с помощью моего ajax? У меня есть в моем javascript некоторые правила проверки, где каждый номер является правилом, как я могу интегрировать его с моим laravel? Существует пример моего кода:Правила проверки целостности с помощью ajax
функция Laravel Контроллер:
public function saveEmail(Request $request)
{
$user = Auth::user();
$this->validate($request, array(
'current_email' => 'required|email|exists:users,email,id,'. $user->id,
'email' => 'required|email|unique:users',
'verify_password' => 'required'
));
//Verify information user before updating
if($user->email != $request->current_email){
dd("Current Email is not the same");
}
if(! Hash::check($request->verify_password, $user->password)){
dd("Password incorrect, will not update");
}
//Update Email with Sucess
$user->email = $request->email;
}
Ajax код:
$(document).ready(function() {
$("#saveEmail").click(function (event) {
event.preventDefault();
saveEmail();
});
});
function saveEmail() {
var email = $("#current_email").val();
var new_email = $("#email").val();
var password = $("#verify_password").val();
var data = { current_email: email, email: new_email, verify_password: password }
$.ajax({
url: "company/saveEmail')}}",
type: 'POST',
data: data,
success: function (result) {
if (result == 0) {
//Email saved correctlly
var text = 'E-mail actualizado';
$('#saveOK').text(text);
$("#current_email").val("");
$("#email").val("");
$("#password").val("");
$("#ErrorEmail").css({ "display": "none" });
}
else if (result == 1) {
//"Incomplete data"
var error1 = 'The data are incomplete';
$("#lbtxtEmailError").text(error1);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 2) {
//"Current email incorrect"
var error2 = 'Current email is incorrect';
$("#lbtxtEmailError").text(error2);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 3) {
//"Incorrect format"
var error3 = 'The format is incorrect';
$("#lbtxtEmailError").text(error3);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 4) {
//This email is already in use
var error4 = 'This email is already in use';
$("#lbtxtEmailError").text(error4);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 5) {
//"Current password incorrect";
var error5 = 'Your password is incorrect';
$("#lbtxtEmailError").text(error5);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 6) {
//"This user doesnt exist" id
var error6 = 'User doesnt exist';
$("#lbtxtEmailError").text(error6);
$("#ErrorEmail").css({ "display": "block" });
}
else if (result == 7) {
//"New email already exist"
var error7 = 'New email alreadu exist ';
$("#lbtxtEmailError").text(error7);
$("#ErrorEmail").css({ "display": "block" });
}
}
})
}
спасибо, что ответ был действительно полезным, последний вопрос, в функции Авторизация, он не распознает $ user или $ request, является переменной sayns undefined, мне нужно создать ее для начала функции авторизации? Не предполагается ли уже определение? Извините за вопрос noob. – Pedro
@Pedro Рад, что это помогло! Я обновил ответ, '$ user' не был установлен и был только из-за копии + вставки. Это должно быть 'auth() -> user()'. См. Изменение выше. – Ohgodwhy
Большое спасибо за помощь, но у меня все еще такая же проблема с переменной «$ request», мне нужно ввести авторизацию() Request $ request? – Pedro