2012-04-14 49 views
4

我想知道如果這樣的事情是更多鈔票如何在jquery驗證器中顯示'看起來不錯'的消息?

.validate({ 
    rules: { 
     email: { 
        required: true, 
        email: true 
       } 
      }, 

messages: { 
    email: { 
      required: "<?php echo get_texto_clave('error_validate_empty'); ?>", 
      email: 'Please enter a valid email address', 
      whenFieldIsValid: 'looks good' 
     } 
    } 
}); 

顯示一條消息,而不是錯誤,但確認輸入是有效的,

我怎麼可以這樣做?

回答

2

您可以使用validClassoption來編寫此功能。當輸入有效時,插件將爲該元素添加指定的類。

插入一個隱藏的div每個輸入後:

<input id="exampleinput" /><div class="correctmessage">Looks Good</div> 

要隱藏:

.correctmessage{ display: none; } 

在您的驗證聲明,包括validClass選項,以及onkeyuponclick,如果你想將消息作爲更改顯示爲表單:

.validate({ 
    validClass: "success", 
    onkeyup: true, 
    onclick: true 
}) 

然後CSS到success類後顯示correctmessage類的第一個元素(特異性應覆蓋其他CSS塊):

.success + .correctmessage{ display: block;} 

display: inline也是有效的。

+0

但這將有效的形式不是輸入,對不對? – 2012-04-14 20:23:26

+0

如果表單有效,它會被提交(或任何您想要的操作)。當表單無效時,它會自動向無效輸入添加錯誤消息。這使您可以在所有成功的輸入中輸入成功消息。 – ramblinjan 2012-04-14 20:26:15

+0

如果這不是你的意思,你可以重述這個問題嗎?我添加了如何讓每個字段在您進行更改時進行驗證。 – ramblinjan 2012-04-14 20:28:36

2

形式通過稍微修改了「亮點」和「unhighlight」選項提交之前,您可以輕鬆地標記每個有效的字段:

$(form).validate({ 
    highlight: function(element) { 
     $(element).removeClass("valid").addClass("error"); 
    }, 
    unhighlight: function(element) { 
     $(element).removeClass("error").addClass("valid"); 
    } 
}) 

您可以將每個輸入之後添加一個隱藏的元素,並切換它的可視性(或顯示)通過CSS:

.valid_message { visibility: hidden; } 
.valid + .valid_message { visibility: visible; } 
相關問題