Apache flex 什么';验证复杂Flex表单的最佳方法是什么?
我有一个编辑中等复杂对象的Flex应用程序,我想在编辑器的多个部分上进行一些客户端验证。编辑器是一组嵌套对象:Apache flex 什么';验证复杂Flex表单的最佳方法是什么?,apache-flex,flex3,validation,Apache Flex,Flex3,Validation,我有一个编辑中等复杂对象的Flex应用程序,我想在编辑器的多个部分上进行一些客户端验证。编辑器是一组嵌套对象: Form -> TabNavigator -> Tab1 -> Component1.1 Component1.2 Tab2 -> Component2.1 Component2.2 &c SubmitB
Form ->
TabNavigator ->
Tab1 ->
Component1.1
Component1.2
Tab2 ->
Component2.1
Component2.2
&c
SubmitButton
该结构与数据模型非常接近,UI是项目所需要的,因此,如果不需要的话,我不会太快地重构那里的类——时间也是一个问题。我要做的是为每个组件*
实例提供验证器:
- 在相关UI元素上显示验证工具提示和UI提示
- 当表单的任何部分无效时,禁用SubmitButton
- (可选)提供足够的信息,以便在表单中显示错误消息
最好的方法是什么?我想您已经检查了类,以及它的各种子类,如
CreditCardValidator
CurrencyValidator
DateValidator
EmailValidator
NumberValidator
PhoneNumberValidator
RegExpValidator
SocialSecurityValidator
StringValidator
ZipCodeValidator
if ((Validator.validateAll(validatorArr) as Array).length != 0){
Alert.show("There are errors on the form. Please correct before saving.", "Form Errors");}
else { /* do something*/}
在多次处理此类用例之后,我最终决定编写自己的表单子类,作为一种内置行为提供对所有元素的验证 这个想法发展了很长一段路,但是如果你好奇的话,可以看看我在bitbucket上发布的开源项目 SmartForms(和SmartFormItems)使用XML“描述符”处理表单创建和验证等。这样做的主要原因是允许服务器生成表单,因为我们经常处理客户机不知道的对象(我们的服务器是可插入的,因此需要服务器提供的表单描述符)
那里的代码可能比您想要的要多得多,但您可能会对该存储库中与验证相关的类感兴趣。是的。我对Flex 101不感兴趣;我想要一个设计的想法,这将使它能够很容易地扩展表单,同时保留所有子表单和杂项的深入验证。