Javascript 在jQuery UI对话框中的表单中调用Parsley.js时,错误消息不出现?

Javascript 在jQuery UI对话框中的表单中调用Parsley.js时,错误消息不出现?,javascript,jquery,parsley.js,Javascript,Jquery,Parsley.js,我在q jQuery UI模式中有一个表单,Parsley.js无法正常工作,因为验证消息没有显示在UI上 这是我一直在使用的代码: $(function() { $('#order_push').click(function() { $('#add_contact').dialog('open'); }); $('#add_contact').dialog({ title: "Add Contact", autoOpen: false, modal

我在q jQuery UI模式中有一个表单,Parsley.js无法正常工作,因为验证消息没有显示在UI上

这是我一直在使用的代码:

$(function() {
  $('#order_push').click(function() {
    $('#add_contact').dialog('open');
  });

  $('#add_contact').dialog({
    title: "Add Contact",
    autoOpen: false,
    modal: true,
    width: 600,
    height: 300,
    buttons: {
      'Create': function() {
        var $form = $('#contact_frm').parsley();

        if ($form.isValid()) {
          alert('valid');
        }
      }
    }
  });
});
以及HTML和JS协同工作的完整示例。如果你把这些字段留空,玩一下这个小把戏,你就会看到消息是如何不显示的。至少我希望我的字段在无效时标记为红色,在有效时标记为绿色。差不多


我错过什么了吗?

您正在呼叫的
是有效的
。文档说明(粗体!):

isValid:不影响用户界面,也不触发事件


您想调用
validate({force:true})
(或者在进行异步验证时调用
whenValidate

您正在调用的
isValid
。文档说明(粗体!):

isValid:不影响用户界面,也不触发事件

您想调用
validate({force:true})
(或者在进行异步验证时调用
whenValidate

在的答案上运行,该答案应该是可接受的,因为它解决了主要问题

关于评论中的第二个问题:

只需添加以下内容,它针对欧芹错误消息元素:

if($form.on('form:error')){
  $(".parsley-errors-list").prev().addClass("error");
}
这个CSS:

.error{
  border:2px solid red;
}
现在要删除
keyup
上的错误类:

$("input").on("keyup",function(){
  $(this).removeClass("error");
});

您应该花点时间阅读…
;)

根据的答案运行,这应该是被接受的答案,因为它解决了主要问题

关于评论中的第二个问题:

只需添加以下内容,它针对欧芹错误消息元素:

if($form.on('form:error')){
  $(".parsley-errors-list").prev().addClass("error");
}
这个CSS:

.error{
  border:2px solid red;
}
现在要删除
keyup
上的错误类:

$("input").on("keyup",function(){
  $(this).removeClass("error");
});

您应该花点时间阅读…

;)

感谢您提供一个工作示例!感谢您提供一个工作示例!这使得它可以工作,但我如何在输入上实现好的颜色有效或无效?我已经做了另一个例子,注意字段如何无效,但我无法使输入着色,我做错了什么?这让它工作起来,看,但是我如何在输入上实现好的颜色有效或无效?我已经做了另一个例子,注意字段如何无效,但是我无法使输入着色,我做错了什么?