jQuery Validate プラグインを使用して検証しているフォームがあります。1つのことを除いて、すべてが正常に機能しています。
私が使用しているフィールド、リモート ルールがあり、同じ名前のアプリケーション レコードが既に存在するかどうかを確認するために AJAX を使用しています。ユーザーがフィールドの値を変更した場合にのみ、この検証を実行する必要があります。
これは私が持っている検証コードです:
$('#createapp').validate({
rules: {
appname: {
minlength: 8,
required: true,
remote: {
url: "<?php echo base_url();?>app/application/check_app",
type:"POST",
async: false,
data: {
appname: function() {
return $("#appname").val();
}
}
}
},
apptitle: {
required: true
}
},
messages: {
appname: {
remote: "Application with same name already exists"
}
},
highlight: function(label) {
$(label).closest('.control-group').addClass('error');
},
success: function(label) {
label
.text('OK!').addClass('valid')
.closest('.control-group').addClass('success');
}
});
私はこれを行う必要があります:
ユーザーが appname フィールドのテキストを変更した場合にのみ、リモート検証を実行します。私は依存を使用しようとしましたが、それを機能させることができません。これは基本的に私が試したことです:
remote: {
depends: function(element){
return ($('#appname').val() != "<?php echo trim($application[0]->app_name) ?>" );
}