使用jqueries验证插件,如何从服务器端向客户端发送错误?

时间:2009-07-28 17:59:50

标签: jquery jquery-validate

我有一个自定义验证检查,我在服务器sidie(.net mvc)上执行。

如果失败,我想通过输入框旁边的消息通知用户(jqueries验证插件如何在框外工作)。

是否有内置函数(在验证插件中)我可以调用来执行此操作?

更新的 理想情况下,解决方案是使用插件本身,也许我可以使用方法调用?

3 个答案:

答案 0 :(得分:2)

是的,有an example这个。

您基本上rules: {FIELD: {remote: "URL"}},然后在验证时调用URL?FIELD=value并在服务器上调用truefalse

答案 1 :(得分:1)

有一个名为xVal的开源项目可以做到这一点。以下是项目主页的摘录:

  

项目描述xVal是ASP.NET MVC的验证框架   应用。它使链接变得容易   你选择的服务器端   验证机制与您的选择   客户端验证库,   整齐地适合ASP.NET MVC   建筑和惯例。特征

     
      
  • 使用模型属性上的属性定义验证规则,   如,

         

    [必需] [StringLength(50)] public   string Name {get;组; }

  •   
     

(或者,如果您愿意,可以提供   以编程方式规则或您可以   在特定视图中对它们进行硬编码)

     
      
  • 旨在适应ASP.NET MVC约定以处理表单帖子   并存储和检索错误   ModelState中的信息
  •   
  • 使用您选择的服务器端验证框架。盒子外面,   xVal允许您使用.NET 3.5的内置功能   DataAnnotations类或Castle   验证器(或两者)。如果你想   使用不同的东西,你可以   只需创建自己的提供商   实施IRulesProvider。
  •   
  • 使用您选择的客户端验证库。盒子外面,   xVal允许您使用jQuery验证或   ASP.NET的本机客户端   验证库(a.k.a.   WebUIValidation.js,由。使用   的WebForms)。或者,使用任何其他   客户端验证库   编写插件来配置它   使用xVal的标准JSON规则   描述格式。
  •   
  • 使用资源文件支持本地化错误消息。变化   验证的语言   根据当前的消息   线程的文化。
  •   
  • 添加在服务器和服务器上运行的自定义验证逻辑   客户端,通过子类化   现有规则或引用a   自定义JavaScript函数
  •   

答案 2 :(得分:0)

您可以创建自定义验证功能并将其与ajax调用结合使用。在这种情况下,ajax调用将返回文本“true”或“false”。

var customFunction = function(value, element, param) {
    var isValid = false;
    $.ajax({
        url: '/something',
        data:{value: value},
        success: function(data, textStatus) {isValid = data;},
        dataType: 'json',
        async: false
    });
    return isValid;
};

$.validator.addMethod("customFunction", customFunction, "That isn't valid.");

$('form').validate({
    rules: {
        fieldname: {
            customFunction: true
        }
    }
});

编辑:实际上,请使用svinto提到的远程方法。我甚至都不知道存在。我是个傻瓜。