2

フォームにエラーが表示されますが、フォームが有効な場合でも (フォームに背景と境界線が付いています)、消えません。

スクリーンショットは次のとおりです。

これが私のjsです:

 $(".login").validate({
    rules: {

        "user[email]":{
            email: true,
            required: true
        },
         'user[password]': {
            required: true,
            minlength: 6,
            remote: {
            url: "http://127.0.0.1:3000/checkpass",
            //url: "http://91.228.126.168:3000/checkpass",
            type: "get",
            data: {
              email: function() { return $("#user_email").val(); }
            }
          }
        }
    },
    messages: {
    "user[password]": {
    remote: "You entered wrong credentials"}
    },
     errorContainer: "#messageBox1",
     errorLabelContainer: "#messageBox1 ul",
     wrapper: "li"

})

CSS:

  #messageBox1{
display: none;
 }

   #messageBox1{
width: 280px;
padding: 20px 0 20px 20px;
border-radius: 5px;
background: rgb(252, 248, 227) ;
border: solid 1px rgb(192, 152, 83);
margin-bottom: 10px;
 }

どうすればこれを解決できますか?

4

1 に答える 1

0

使用している検証プラグインはわかりませんが、マークアップを制御しているようです (間違っている場合は修正してください)。

別の検証プラグイン (マークアップ構造に依存しないもの) を使用する場合は、jQuery Validatorを試してください。

ハウツーについては、デモとドキュメントを参照してください。README にはパラメーター情報が含まれています。

[免責事項: このプラグインは社内で使用するために開発しましたが、本日オープンソースにしました]

このプラグインであなたのケースを処理する方法は次のとおりです。

if($("#yourForm INPUT").Validate()){
   $("#messageBos1").hide();
} else {
   $("#messageBos1").show();
}

もちろん、必要に応じて変更する必要があります。ドキュメントとデモを確認してください。

于 2012-10-11T08:39:07.130 に答える