我有一个asp.net文件:
现在我有4个验证器:
我的问题是订单。 如果用户尝试发送公式并且所有4个验证器都是错误的,则只显示RequiredFieldValidator,因为其他3个是服务器端。 用户现在认为“哦,只有一个错误”并纠正了它。 之后,其他3个错误发生了,用户可能会对此感到有点生气 - “为什么系统在第一次播放时没有告诉我?”
那么,如何有一个用户友好的解决方案?
有没有办法同时触发服务器端验证,客户端验证失败了? 或者有没有办法在服务器端激活客户端验证?
(注意!我试图重新调用RequiredFieldValidator,而是做第四个CustomValidator。我这样做,我有4个CustomValidator,没有Requ-Field-Val。最终,没有CustomValidator会被命中,在公式之后是发送=(我不知道为什么。)
答案 0 :(得分:2)
其中一种方法是使用EnableClientScript属性关闭所需字段验证程序的客户端验证。以便在服务器端进行所有验证。
但更好的方法(如果可能)将对所有这些使用客户端验证,即使用自定义验证逻辑和使用ClientValidationFunction属性的自定义验证器 - 请参阅此article以获取此类示例。
答案 1 :(得分:1)
为Controls验证器和Submit函数添加ValidationGroup =“abc”属性使用Page.Validate(“abc”)方法在某个时间验证服务器端控件。
像这样。
Page.Validate("abc")
If Not Page.IsValid Then
Return False
End If