有没有办法可靠地重现ASP.NET的一代客户端验证?

时间:2017-01-25 19:48:32

标签: javascript asp.net validation webforms

我在这里旅行了一段时间。我可以创建服务器控件,验证控件,自定义验证器等,并将它们添加到页面中。我感到好奇的是,如果可以在不使用<asp:________Validator />的情况下100%客户端提升自定义验证器。

例如,如果我只是放置一个:

<span id="some_custom_id">* REQUIRED!</span>

是否可以将其作为验证器连接到global / window对象中?

例如,在窗口对象上,您可以通过以下方式查看验证器集合:

> Page_Validators
>> Array[2]
>>> 0: span#someid
>>> 1: span#anotherid
>>>>>>: controltovalidate: "idofthecontrol"
>>>>>>: validationGroup: "validationGroupOfControl"
>>>>>>: evaluationfunction: RequiredFieldValidatorEvaluateIsValid(val)

我的理由是为了更深入地了解asp.net如何创建客户端验证。我已经生成了一个自定义验证对象并将其推送到验证器数组,但它几乎打破了验证中的其他所有内容。我还想知道asp.net脚本是否是动态生成的,用于处理/容纳不同类型验证的函数 - 因为我无法依赖或假设适当的验证方法可供我使用只是打成一片。

将这些验证器/消息推送到验证摘要控件会很酷。我理解需要服务器端验证,但这不是问题的关键。

另一种看待这种情况的方法是使用JavaScript创建一组动态的表单字段,全部在客户端上,或者交换,更改所需的内容以及不基于选择的内容,所有这些都是与验证摘要相关联。

我可以通过大量的解决方法来做到这一点,然后重新使用Page_Validate方法,但它并不是最佳的。在我可以创建自定义验证方法和拦截表单提交...没问题。我只是想找到一种方法来正确操作全局对象上的页面验证器并简化所有内容。

由于我在新的土地上逛逛,我更感兴趣的是,如果有人这样做,是否合理可能,并且可能指向我正确的方向。

0 个答案:

没有答案