特定のフィールドにサーバー側とクライアント側の両方の検証が必要なフォームがあります。 jqueryバリデーションプラグインを使用してクライアント側の検証を行っています。以下は同じコードです。フィールドの検証 - サーバー側とクライアント側の両方
$('#createapp').validate({
rules: {
appname: {
minlength: 8,
required: true
},
apptitle: {
required: true
}
},
highlight: function(label) {
$(label).closest('.control-group').addClass('error');
},
success: function(label) {
label
.text('OK!').addClass('valid')
.closest('.control-group').addClass('success');
}
});
ユーザーが入力しようとしているappnameが既にDBに存在するかどうかを確認する必要があります。私は、これはフィールドコントロールが赤くなりますが、それはフォームの送信を停止しませんが、このコード
$('#appname').focusout(function(){
$.ajax({
type: "POST",
url: "<?php echo base_url();?>index.php/app/application/check_app",
data: "appname="+$("#appname").val(),
success: function(msg){
if(msg == "false")
{
var controlDiv = $('#appname').closest('.control-group');
controlDiv.addClass('error');
controlDiv.removeClass('success');
}
else
{
var controlDiv = $('#appname').closest('.control-group');
controlDiv.addClass('success');
controlDiv.removeClass('error');
}
}
});
});
を使用してチェックを実行するために、AJAXを使用しています。私はエラーをチェックし返すためにサーバー側のロジックを複製したくない。
アプリ名が既に使用されている場合、フォーム提出を無効にするコードを追加することはできますか?