在远程验证中将数据传递到服务器

时间:2014-06-19 19:28:56

标签: jquery jquery-validate

在其中一个字段上使用远程jquery验证。如何将数据发送到用户输入字段的服务器?

rules: { 
      "profile.userId": {
       required: true,
       minlength: 8,
       remote: {
                url: "/checkUniqueUserId",
                dataType: "json",
                type: "POST",
                data: {userId : '???'}
       }
 }

如何在输入字段中提取输入的值?我试过了:

  • $("#userId").val()
  • userId
  • profile.userId
  • $(this).val()

有什么建议吗?

这是我的jsp:

<div class="control-group">
   <div class="form-group has-success has-feedback">
      <form:input type="text" id="userId" name="userId" class="form-control" 
      path="profile.userId" placeholder="user name"/>
   </div>
</div>

2 个答案:

答案 0 :(得分:1)

引用OP

  

&#34;如何将数据发送到用户输入字段的服务器?&#34;

你不会,因为默认情况下已经发送了。

您的代码......

rules: { 
    "profile.userId": {  // <- this MUST be the 'name' attribute of the input
        required: true,
        minlength: 8,
        remote: {
            url: "/checkUniqueUserId",
            // dataType: "json",      // <- not needed, default
            type: "POST",
            // data: {userId : '???'} // <- not needed
        }
    }
}

如果您只想要profile.userId字段的值,则不需要做任何事情。这是默认情况下已发送的确切数据。

以PHP为例,只需将$_POST数组作为$_POST['profile.userId']访问服务器端。 (这假设呈现的<input>元素包含name="profile.userId"属性,否则这些都不起作用。)

您只需使用data选项 ,如果 ,您需要将其他数据发送到远程脚本。例如,发送电子邮件地址和用户ID。

See the documentation了解更多信息和示例。

答案 1 :(得分:0)

在某些示例中:编辑电子邮件用户,您可以使用数据:{}

rules: {

            txt_email: {
                required: true,
                email: true,
                remote: {
                    url  : "emailcheck.php",
                    type : "POST",
                    data: {type:'edit',old_email:$( "#old_email" ).val()}
                }
            }

}

在emailcheck.php句柄

if($_POST['type'] == "edit") {
    // your business code
}