Obecnie można przesłać i zatwierdzić ajax jednocześnie. Używam funkcji niestandardowej jak:Yii2 activeform ajax przesyłanie i sprawdzanie poprawności
$('.edit_form').submit(function (e) {
e.preventDefault();
var form = $(this);
var formData = $(this).serialize();
if (form.find('.has-error').length) {
return false;
}
$.ajax({
url: form.attr("action"),
type: form.attr("method"),
data: formData,
success: function (data) {
...
},
error: function() {
alert("Something went wrong");
}
});
});
A tutaj jest strona php, do walidacji mój config wygląda tak:
$form = ActiveForm::begin([
'id' => "some_form",
'action' => ['user/edit'],
'options' => ['class' => 'edit_form'],
'enableAjaxValidation' => false,
'enableClientValidation' => true,
]); ?>
Jestem pewien, że to nie jest najlepszy sposób, aby osiągnąć to, co ja potrzeba. Zwłaszcza ta część, której używam do zapobiegania przesyłaniu w przypadku błędu sprawdzania oryginalności:
if (form.find('.has-error').length) {
return false;
}
Jakieś sugestie? Jak poprawnie wykonać zgłoszenie i walidację ajaxu przy użyciu wbudowanych ustawień Yii 2?
spróbuj 'enableAjaxValidation' => true –