使用jquery验证插件验证模态弹出窗口内的用户输入

时间:2013-08-24 16:27:47

标签: jquery jquery-validate jquery-ui-dialog

我正在尝试在jquery UI模式对话框中验证用户输入。 Jquery验证插件用于验证。

尝试在弹出按钮中验证验证单击

<form id="frm">
    <div>
        <button name="btn" id="btn" type="button" >OpneModal</button>
    <div id="dlg" style="display:none">
        <div>
            Name: <input type="text" id="txtName" name="txtName"/>
        </div>
        <div>
        </div>
        </div>
        </div>
    </form>


 $(
     function () {
           var rules = {
            txtName: {
                required: true
            }
        };
        var messages = {
            txtName: {
                required: "Please enter name"
            }
        };
       $("#frm").validate({rules:rules, messages:messages});


          $("#btn").click(
              function () {

                  $("#dlg").dialog(
                      {
                          modal: true,
                          buttons: {
                              "Save": function () {
                                alert(  $("#frm").valid());
                              },
                              "Cancel": function () {
                                  $("#dlg").dialog("close");
              }
                          }

                      }
                      );
              }
              );

      });

但验证总是成功的。

代码在js小提琴中:http://jsfiddle.net/aGJrZ/6/

1 个答案:

答案 0 :(得分:1)

jQuery Validation插件要求所有输入元素必须包含在一组<form></form>标记中。但是,使用DOM检查器,您可以看到在构造对话框时,它完全位于<form></form>之外。

重新对HTML进行重新分析,以便} 对话框中包含<{1}} ...

form

DEMO http://jsfiddle.net/aGJrZ/9/