gpt4 book ai didi

regex - 扩展 MVC FoolProof 验证

转载 作者:行者123 更新时间:2023-12-01 23:33:45 26 4
gpt4 key购买 nike

我想使用 MVC FoolProof Validation 在我的 MVC 3 应用程序中。

我需要数字验证并且还接受 N/A 或 n/a。所以我决定创建自己的自定义验证属性,如 NumericAllowNAAttribute 并添加一个 jQuery 验证自定义采用方法。

我重新访问了 MVC Foolproof 并决定使用它,因为它已经构建了其他有用的方法。我也想要那些。现在我如何使用 jQuery 验证和服务器端编写在客户端工作的 CustomValidationAttribute?

在谷歌上搜索了关于扩展 MVC Foolproof 的内容,但我没有得到任何结果。

Is any one came across extending or implementing this kind of validation works in server and client with jQuery validation plugin?

最佳答案

您可以通过定义一个继承 ContingentValidationAttribute 的新属性来扩展万无一失的 MVC(或万无一失中的其他属性之一,但大陆非常接近准系统)。

您将需要定义以下方法覆盖。

public override bool IsValid(object value, object dependentValue, object container)
protected override IEnumerable<KeyValuePair<string, object>> GetClientValidationParameters()
public override string ClientTypeName

ClientTypeName 字符串值由 jquery 非侵入式验证使用。

此外,请务必使用 DataAnnotationsModelValidatorProvider 注册您的适配器(万无一失在其类的构造函数中进行)。

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(MyCustomValidationAttribute), typeof(FoolproofValidator));

定义服务器端验证逻辑后,您需要在客户端注册 jquery 非侵入式验证:

jQuery.validator.addMethod("clienttypenameyouemitontheserver", function(value, element, params) {
// perform your checks here and return true or false
return true;
});

var $Unob = $.validator.unobtrusive;
$Unob.adapters.add("clienttypenameyouemitontheserver", ["param1", "param2", "paramZ"], function (options) {
var value = {
param1: options.params.param1,
param2: options.params.param2,
paramZ: options.params.paramZ
};
setValidationValues(options, "clienttypenameyouemitontheserver", value);
});

关于regex - 扩展 MVC FoolProof 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243754/

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