使用 jQuery 验证插件将多个值发送到 ASP.NET MVC 控制器操作?

Posted

技术标签:

【中文标题】使用 jQuery 验证插件将多个值发送到 ASP.NET MVC 控制器操作?【英文标题】:Using the jQuery validatation plugin to send multiple values to an ASP.NET MVC controller action? 【发布时间】:2010-09-24 23:30:11 【问题描述】:

使用 jQuery Validation 插件和 AJAX,我如何验证输入(文本框)的内容,但将多个参数传递给控制器​​操作?

here 是一个使用插件通过 AJAX 传递单个值的绝妙示例。

【问题讨论】:

【参考方案1】:

查看 jQuery Validation 的代码,似乎无法自定义发布数据。所以你必须坚持使用查询参数:

 <script type="text/javascript">
$(document).ready(function()
  $("#form-sign-up").validate(
  
    var param1 = $('#mytextbox').val();

    rules:
    
        login:
        
          required: true,
          remote: '<%=Url.Action("IsLoginAvailable", "Accounts") %>?param1=' + param1
        
        
    );

);
</script>

【讨论】:

【参考方案2】:

这样的?

$(document).ready(function()
  $("#form-sign-up").validate( 
    rules: 
      email: 
        required: true,
        email: true
      ,
      surname: 
        required: true,
        surname: true
      
    ,
    messages: 
      email: 
        required: "Please provide an email",
        email: "Please provide a valid email"
      ,
      surname: 
        required: "Please provide a surname",
        surname: "Please provide a valid surname"
      
    
  );
);

edit找到了一个大demo here

【讨论】:

我遇到的问题是,基于用户名和隐藏字段的值会生成一个唯一的对。因此,在验证登录名时,我需要将登录名和隐藏字段值都传递给操作。如果您检查问题中的示例,您就会明白我的意思。【参考方案3】:

正确的脚本是

远程:函数() var p = $j('#productName').val(); 返回 "../Product/LookupRevision?p=" + p; 而不是

远程:“../Product/LookupRevision”

【讨论】:

以上是关于使用 jQuery 验证插件将多个值发送到 ASP.NET MVC 控制器操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net 中使用 jquery 表单插件?

将 html 标记从 jquery 发布调用发送到 asp.net 页面时,从客户端检测到潜在危险的 Request.QueryString 值

使用 jquery 警报对话框插件,如何将表单中的值发送到回调功能?表格在警报中

像 ValidationGroup 的 ASP.NET 使用 JQuery 验证插件?

使用 qTip jQuery 插件的 ASP.NET MVC 验证

ASP.NET Web 窗体中的 jQuery 验证插件