gpt4 book ai didi

asp.net-mvc - 在非侵入式适配器期间使用 jQuery .ajax 进行验证

转载 作者:行者123 更新时间:2023-12-01 04:51:02 26 4
gpt4 key购买 nike

我在一个类上定义了一个不显眼的验证,它验证输入的数字是数据库中的有效数字。我不想使用 Remote 属性,因为它将我绑定(bind)到特定的 Controller 而不是服务,并且该类实际上位于不在 MVC Web 应用程序中的库中。我想按如下方式使用 JavaScript:

$.validator.addMethod("validid", function (value, element) { 

$.ajax({
url: 'mypage.html',
success: function(){
return true;
},
error: function(){
return false;
}
});
});

$.validator.unobtrusive.adapters.addBool("validid");

我知道我可以使用addsingleval并传入数组中的所有有效ID,但我更喜欢该方法来调用服务并验证服务器上的sing值,而不是传入数组中的所有可能值数据库。我确实认识到进行异步调用并尝试返回已完成的函数中的值的问题,但我想知道是否还有其他方法可以完成这项工作。

最佳答案

I'd prefer not to use a Remote attribute, as it ties me to a specific controller instead of a service, and the class is actually in a library that is not in the MVC Web application.

如果我理解您的问题,那么阻止您使用 Asp.Net Mvc Remote 属性的原因是,仅当您想要指定任意 url 时才会向您提供路由。

也许您可以尝试使用 Remote 属性的自定义覆盖

public class CustomRemote : RemoteAttribute
{
protected String url { get; set; }

public CustomRemote(string url)
{
this.url = url;
}

protected override string GetUrl(ControllerContext controllerContext)
{
return url;
}
}

然后,在您的 View 模型中:

[CustomRemote("mypage.html")]
public String Id

关于asp.net-mvc - 在非侵入式适配器期间使用 jQuery .ajax 进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062041/

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