在asp.net中显示有关正确数据的消息的正则表达式验证
RegularExpressionValidator允许我们在数据无效时显示错误消息。当数据有效时,它是否也可能显示不同的消息?编辑下面的解决方案不起作用 当e.IsValid==true时,该消息不可见。我想您可以通过在ClientValidationFunction中将其设置为visible来解决这个问题,但这也不起作用,因为asp.net包含的JavaScript验证代码执行ClientValidationFunction,然后调用名为ValidatorUpdateDisplay的方法,该方法根据IsValid设置可见性 所以。。。不,我不认为您可以使用Asp.Net验证程序来显示有效和无效数据的消息,同时在提交表单时仍保留正确的验证功能 您可以使用两个具有反向模式的regex验证器,然后使用一些代码来告诉提交的表单不要在验证良好输入时失败,但是您最好只编写一个与表单验证无关的自定义解决方案 原始答案供参考 您可以尝试创建一个自定义验证器,根据输入更改验证器上的ErrorMessage属性 大概是这样的: 标记:在asp.net中显示有关正确数据的消息的正则表达式验证,asp.net,Asp.net,RegularExpressionValidator允许我们在数据无效时显示错误消息。当数据有效时,它是否也可能显示不同的消息?编辑下面的解决方案不起作用 当e.IsValid==true时,该消息不可见。我想您可以通过在ClientValidationFunction中将其设置为visible来解决这个问题,但这也不起作用,因为asp.net包含的JavaScript验证代码执行ClientValidationFunction,然后调用名为ValidatorUpdateDisplay的方法,该
<asp:CustomValidator ID="MyCustomValidator" runat="server" OnServerValidate="OnCustomValidate" ControlToValidate="MyControlToValidate"></asp:CustomValidator>
否它用于验证输入而不是显示数据。你想达到什么目的,你能再解释一下吗?
protected void OnCustomValidate(object source, ServerValidateEventArgs e)
{
var validator = (source as CustomValidator);
var validRegex = new Regex("[a-z]");
if (validRegex.IsMatch(e.Value))
{
e.IsValid = true;
validator.ErrorMessage = "Good input";
return;
}
validator.ErrorMessage = "Your input is not valid";
e.IsValid = false;
}