【发布时间】:2011-05-30 08:14:29
【问题描述】:
据我所知,如果客户验证器中有 clientValidationFunction。在值有效之前,它不会让回发发生。那么如果已经有了clientValidationFunction,就不需要ServerValidate事件了吧?
【问题讨论】:
标签: asp.net validation customvalidator
据我所知,如果客户验证器中有 clientValidationFunction。在值有效之前,它不会让回发发生。那么如果已经有了clientValidationFunction,就不需要ServerValidate事件了吧?
【问题讨论】:
标签: asp.net validation customvalidator
您应该永远仅依赖客户端代码来执行验证。客户端可能禁用了脚本,因此您的验证代码可能根本无法运行。此外,还可以通过许多其他方式规避客户端代码。
客户端验证有助于避免在字段无效时往返于服务器,但您仍然必须执行服务器端验证以实际确保客户端已发送有效数据.
【讨论】:
如果您尝试触发具有已设置为true 的CausesValidation 属性的控件的事件,那是正确的。但是,如果 CausesValidation 已设置为 false,则会发生 Post Back。
即使CausesValidation 已通过调用validator.Validate() 设置为false,您也可以强制验证器调用其验证逻辑。
【讨论】:
你是对的。当由于复杂性而无法创建客户端规则时,应使用服务器验证。在这里你可以阅读一些more
【讨论】: