2010-01-23 67 views
3

jQuery Validator有問題。我想在文本輸入中使用「必需」屬性。當輸入通過HTML代碼設置值屬性時(在Firefox(3.5)上測試,並且在IE 8上 - 在IE上它效果更好),它不起作用。當value設置爲statup時,jQuery Validator的「required」不起作用

故事: 1.頁面加載; 2.值被清除; 3.焦點改變。 4.沒有任何反應,但應顯示錯誤信息; 5.回到現場並輸入一些字符。 6.改變焦點; 7.回到現場; 8.清除該字段。 9.即使在離開現場之前也會顯示錯誤。

的HTML代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <script src="Web/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script> 
    <script src="Web/Scripts/jquery.validate.js" type="text/javascript"></script>  
</head> 
<body> 
    <form id="form1"> 
     <input type="text" id="name1" name="name1" value="test" /><br /> 
     <input type="text" /> 
    </form> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      var validator = $("form").validate({ 

       rules: { 
        name1: { 
         required: true, 
         minlength: 2 
        } 
       }, 
       messages: { 
        name1: "bad name" 
       }, 
      }); 
     }); 
    </script> 
</body> 
</html> 

回答

0

你忘了說這驗證信息是用於: 試試這個:

messages: { 
      name1: 
        { 
         required : "This is a required field", 
        minlength: "Please enter 2 chars or more" 
        } 
      } 

米歇爾

+0

這是沒有必要的。如果您只提供一條始終使用的消息。即便如此,事實並非如此,因爲在「第9步」中,驗證開始正確運行。 – 2010-01-24 08:09:01

+0

嗯,沒有讀好的問題。 – Michel 2010-01-24 20:36:49

1

一個不引人注目的驗證,當你的驗證已經被定義已經需要修改米歇爾回答:

var validator = $('form').validate(); 

validator.settings.onfocusout = function(element) { 
    $(element).valid(); 
}; 
/*validator.settings.onkeyup = function (element) { 
    $(element).valid(); 
};*/ 
相關問題