Javascript asp.net中的jQuery表单验证:报告未擦亮输入的警告消息,同时保留错误输入的错误

Javascript asp.net中的jQuery表单验证:报告未擦亮输入的警告消息,同时保留错误输入的错误,javascript,jquery,asp.net,asp.net-mvc,jquery-form-validator,Javascript,Jquery,Asp.net,Asp.net Mvc,Jquery Form Validator,在我们的(旧的)ASP.NET MVC 5应用程序中,用户GUI中有许多表单 用户可以在文本框中输入链接图像和网站。ASP.NET MVC使用jQuery表单验证程序验证输入,并将错误输入作为错误消息报告给用户,从而使表单无效,因此post不会接受该表单 我们不想强迫用户(目前)使用URI中的安全链接,即“https”,但我们确实想警告他们。但是,jQuery表单验证程序似乎没有这样的选项。它不是“有效”就是“错误” 为了说明我的情况,我有一些截图: 这是当前有效输入:无错误或警告: 这是当前

在我们的(旧的)ASP.NET MVC 5应用程序中,用户GUI中有许多表单

用户可以在文本框中输入链接图像和网站。ASP.NET MVC使用jQuery表单验证程序验证输入,并将错误输入作为错误消息报告给用户,从而使表单无效,因此post不会接受该表单

我们不想强迫用户(目前)使用URI中的安全链接,即“https”,但我们确实想警告他们。但是,jQuery表单验证程序似乎没有这样的选项。它不是“有效”就是“错误”

为了说明我的情况,我有一些截图:

这是当前有效输入:无错误或警告:

这是当前的无效输入,有错误(请恕我直言):

这是我想看到的警告,如果用户键入“http:”:

注意,警告没有错误,因此表单仍然可以这样提交

目前,我们使用以下方法将URL文本框验证添加到输入字段


有没有一种方法可以使用jquery表单验证程序来实现这一点

我试图编写自己的jQuery解决方案

$(“[data val regex pattern*='https?']”)
.keyup(函数(){
if($(this).val().startsWith(“http:”){
$(此).parents(“.form group”)
.addClass(“有警告”);
$(此).兄弟姐妹(“span”)
.addClass(“字段验证警告”)
.html('警告:“http:”已弃用,请使用“https”);
}否则{
$(此).parents(“.form group”)
.removeClass(“有警告”);
$(此).兄弟姐妹(“span”)
.removeClass(“字段验证警告”)
.html(“”);
}
});
这不能正常工作,因为jquery表单验证程序一直覆盖html消息


有人知道更好的解决方案吗?

@marc_s好的,谢谢你的编辑,尽管它只是有点美观,因此有点自以为是(更不用说你错过了一些“jquery”。。。但是你能帮我什么忙吗?