我有一个相当大的输入表单,上面有许多ASP.NET Validators,大部分都是RegexVlidators。验证器在客户端正常工作,如果需要,它们可以阻止回发(提交)。但是现在我们必须同时仍然验证和显示错误,就像他们以前也必须允许回发一样。我必须用jquery验证器插件替换我的RegexValidators,所以我的问题是:可以使用验证器插件,因此它标记并显示错误但不阻止提交/回发?如果没有,可以使用什么,除了自定义解决方案)?使用的典型验证器如下所示:
<asp:RegularExpressionValidator
ID = "ContactEMailValidator"
runat = "server"
ControlToValidate = "ContactEMail"
ErrorMessage = "Contact Email is not a valid e-mail."
ValidationGroup="WorkflowsAndIneligible"
ValidationExpression = "^\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*$"
SetFocusOnError = "true">
</asp:RegularExpressionValidator>
除了验证之外,它还会执行许多其他操作 - 专注于违规输入控件,显示可能出现的错误消息
答案 0 :(得分:1)
我使用Position Absolute内联验证引擎来做类似的事情。它允许您完全控制错误消息,而不会在需要时阻止回发。
例如,您可以使用showPrompt
选项在表单字段上显示错误字段,但仍允许ajax发布。
$('#FormFieldID').validationEngine('showPrompt', 'This a custom error msg', 'error', true)
此处提供更多信息 - https://github.com/posabsolute/jQuery-Validation-Engine
编辑:这是一个如何在生产中使用它的简单示例 -
$('#submitButton').click(function(){
$form = $('#MyForm');
$form.validationEngine();
if($form.validationEngine({returnIsValid:true})){
$form.submit()
}
});
该示例会阻止表单提交,您可以轻松地在else
块中构建/显示错误。如果您不想阻止表单提交,您可以忽略if语句并提交表单,并从ValidationEngine
构建错误。您需要为特定示例提供更多详细信息。