我正在使用欧芹 JS 验证表单。当用户在系统上注册时,系统会检查系统中是否存在他的police_id。这里是 AJAX Jquery 代码。
//police_id
$('#add_user input[name=police_id]').keyup(function (e) {
$('.exists_police_id').hide();
$('.ok_police_id').hide();
var site_path = $('#sitePath').val();
var value = $(this).val();
var field = 'policeId';
var table_name = 'tbl_users';
if(value.length>9 ){
$('.loading_pic_police_id').show();
$.ajax({
url:site_path +'/users_manage_cont/check_unique_fields',
method:'POST',
data:{table_name:table_name,field:field,value:value},
success:function(data)
{
$('.loading_pic_police_id').hide();
if(data ==''){
$('.ok_police_id').show();
}else{
$('input[name=police_id]').parsley().addError('forcederror', {message: ' This Police ID already Exists in the System.', updateClass: true});
return false; //this validation fails
}
}
});
}
});
如果police_id 不存在,则响应数据为空。然后允许用户提交表单。但是问题是当police_id存在于表中时,表单应该是validate=false。看看我的其他部分{}
$('input[name=police_id]').parsley().addError('forcederror', {message: ' This Police ID already Exists in the System.', updateClass: true});
return false; //this validation fails
这将设置错误消息和字段颜色为红色。但是当单击提交按钮时,可以提交表单。当表中存在现有police_id时,如何使欧芹验证状态为假?
您只显示一条错误消息,但实际上并未使验证失败。
这是我的建议:
我做了一个 jsfiddle。如果您输入“12345”(您的值当然应该来自 AJAX),它会给您一条错误消息而不是验证。如果您输入其他内容,它将验证。它并不完美,但它应该给你一个我的意思的印象。
jsfiddle.net/68y7nc0t/
问候
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句