gpt4 book ai didi

c# - 如何使用 Foolproof 的 ModelAwareValidationAttribute 进行不显眼的客户端验证

转载 作者:行者123 更新时间:2023-11-30 16:15:25 25 4
gpt4 key购买 nike

我正在尝试使用 MVC 万无一失的验证框架 ( http://foolproof.codeplex.com/ ),但我在使用 ModelAwareValidationAttribute 类时遇到了问题。

当我添加自定义验证属性时,它适用于服务器端模型验证,但不适用于客户端。

如果我使用框架提供的内置属性之一,客户端非侵入式验证会起作用,所以我知道(或者至少我认为我知道)我加载了正确的 javascript 库。

有没有人使用这个框架创建了自定义验证属性?它是否适用于客户端非侵入式验证?如果是这样,您做了什么让它发挥作用?

我正在使用 Asp.Net MVC 3,以防万一。

最佳答案

基于http://foolproof.codeplex.com/SourceControl/latest#Foolproof/Client Scripts/mvcfoolproof.unobtrusive.js您可以将自定义客户端验证规则添加为服务器端同级。

我在项目中所做的是基于该文件扩展万无一失的基础。

示例代码:

(function () {

jQuery.validator.addMethod("foo", function (value, element, params) {
//validation code...
});

// code based on link
var setValidationValues = function (options, ruleName, value) {
options.rules[ruleName] = value;
if (options.message) {
options.messages[ruleName] = options.message;
}
};

var $Unob = $.validator.unobtrusive;

$Unob.adapters.add("foo", ["dependentproperty", "dependentvalue", ...(add more parameters if you want)], function (options) {
var value = {
dependentproperty: options.params.dependentproperty,
dependentvalue: options.params.dependentvalue,
};
setValidationValues(options, "foo", value);
});
})();

希望对你有帮助!

关于c# - 如何使用 Foolproof 的 ModelAwareValidationAttribute 进行不显眼的客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19644838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com