0

ユーザー ID と電子メール ID の 2 つのフィールドを持つフォームがあります。各フィールドの値が既に取得されているか、jQuery リモート検証で同じ php ファイルを使用していないことを検証しようとしています。

しかし、私の混乱は、私の場合(validate.php)のリモートファイルがどうあるべきかということです。フィールドを決定する方法。

私のコードは次のようになります:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Validationt</title>


<script type="text/javascript">
$(document).ready(function(){
   $("form").validate({
      rules: {
         userid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
             }
         }
          emailid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
             }
         }
      },
      messages: {
         userid: {
            remote: jQuery.validator.format("userid {0} is already taken")
     }
         emailid: {
            remote: jQuery.validator.format("emailid {0} is already taken")
     }
      }
   });
});
</script
</head>
<body>
<form method="post" id="form" action="">
<input id="userid" name="userid"  type="text" />
<input id="emailid" name="emailid" type="text" />
<input type="submit" name="submit" id="submit"/>
</form>
</body>
</html>

助けはありますか?

4

3 に答える 3

1

お気に入り、

//validate.php

//get the post fields
$email_address = trim( $_POST["emailid"] );
//check if email exists against database, like
if( is_valid_from_db( $email_address ) ) {
  return TRUE;
}
else {
  return FALSE;
}
于 2013-01-16T08:57:59.127 に答える
0

ドキュメントを見たことがあると思います: http://docs.jquery.com/Plugins/Validation/Methods/remote#options

validate.php は、フィールドを検証するということを実行するだけです。

この他の質問は、いくつかの助けになるかもしれません: jQuery Remote validation

于 2013-01-16T08:57:51.567 に答える
0

リモートメソッドで複数のフィールドを検証するというこの問題に対する答えも探していました。

各フィールドを個別に決定するために、フィールドごとにリモート メソッドを定義する必要はありません。一方、「emailid」フィールドのリモート メソッドを定義し、次のようにdata オプションを使用して emailid とともに「userid」を送信できます。

            emailid: {
                required: true,
                remote: {
                   url: "validate.php",
                   type: "post",
                   data: {
                       userid: function() {
                       return $("#userid").val();
                      }
                   }
                 }
             }

したがって、jsを次のようにすることができます

<script type="text/javascript">
   $(document).ready(function(){
   $("form").validate({
      rules: {
         userid: {
            required: true
         }
          emailid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
               data: {
                   userid: function() {
                   return $("#userid").val();
                  }
               }
             }
         }
      },
      messages: {
         userid: {
            remote: jQuery.validator.format("userid {0} is already taken")
     }
         emailid: {
            remote: jQuery.validator.format("emailid {0} is already taken")
     }
      }
   });
});
</script>

上記は、ユーザーIDとメールIDをvalidate.phpに投稿し、DemoUserの回答に従うことができます。ただし、戻り値 (true/false) が文字列値であることを確認してください

于 2015-07-01T16:09:08.797 に答える