Я пытался найти способ сделать это, но, похоже, не может представить себе чистый, простой способ. Когда пользователь отправляет форму (скажем, регистрационную форму), форма проверяет следующим образом:Идеальный способ включения определенных файлов
$('form').submit(function(e) {
e.preventDefault();
var $formId = $(this).attr('id');
$.ajax({
url : "validation_check.php",
type : "POST",
data : $("#" + $formId).serialize(),
success : function(data) {
$('#' + $formId + ' :input.form_errors').removeClass('form_errors');
data = $.parseJSON(data);
if (jQuery.isEmptyObject(data)) {
document.forms[$formId].submit();
} else {
$.each(data, function(i, item) {
$('#' + $formId + ' :input#' + i).addClass('form_errors');
});
}
}
});
});
validation_check.php
просто делает:
echo json_encode(validate($_POST));
И, наконец, функция validate()
$errors = array();
// need to only include if on the registration page
include_once 'register.val.php';
if (isset($data['email']) && ($data['email'] == '' || filter_var($data['email'], FILTER_VALIDATE_EMAIL) == false)) {
$errors['email'] = 'Not a valid email';
}
return $errors;
include_once 'register.val.php';
просто содержит некоторые операторы if, такие как электронная почта, указанная выше. Мой вопрос в том, как я могу определить, какой файл я бы хотел включить? Если я зарегистрируюсь, я просто хочу включить register.val.php
. Если я сохраню информацию, я просто хочу включить edit.val.php
. Любые идеи по аккуратным чистым способом сделать это?
как о скрытом поле «задача», в котором вы определяете, находитесь ли вы в режиме редактирования или сохранения, тогда вы можете включить использование функции if/else :) – Xavjer
@Xavjer Я подумал об этом, но каждый может изменить код html через консоли браузера и измените значение. – SeanWM
, конечно, они могут, но всегда думайте, что вам все равно придется пересматривать. Никогда не проверяйте только использование javascript, а затем передавайте аргументы как правильные. Используйте его только для проверки более удобной работы без перезагрузки страницы каждый раз с помощью javascript. Revalidate в вашем phpcode b4 save :) javascript можно легко обойти – Xavjer