私はこれを行う方法を見つけようとしていますが、きれいで簡単な方法を考えることができないようです. ユーザーがフォーム (登録フォームなど) を送信すると、フォームは次のように検証されます。
$('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
。これを行うためのきちんとしたクリーンな方法に関するアイデアはありますか?