我有一个自定义验证检查,我在服务器sidie(.net mvc)上执行。
如果失败,我想通过输入框旁边的消息通知用户(jqueries验证插件如何在框外工作)。
是否有内置函数(在验证插件中)我可以调用来执行此操作?
更新的 理想情况下,解决方案是使用插件本身,也许我可以使用方法调用?
答案 0 :(得分:2)
是的,有an example这个。
您基本上rules: {FIELD: {remote: "URL"}}
,然后在验证时调用URL?FIELD=value
并在服务器上调用true
或false
。
答案 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提到的远程方法。我甚至都不知道存在。我是个傻瓜。