apache-flex - flex 中的必填字段

标签 apache-flex validation required-field

我有一个关于 flex 的问题。 我有一个表格,需要电子邮件。 我用谷歌搜索并找到了以下解决方案:

<mx:FormItem label="Email" id="emailFormItem"  width="100%" styleName="formEven" required="true">                   
<mx:TextInput id="emailTextInput" width="100%" text="{user.email}"/></mx:FormItem>

问题是,当我按下 ok 时,调用仍然在进行。 我知道您必须自己验证以下内容,但有人知道我如何验证字段吗?

解决方法:

我找到了一个解决方案:

您可以为每个要验证的字段创建一个验证器,然后创建这个函数:

private function isValid():Boolean {
            var failedValidators:Array = Validator.validateAll([emailValidator, userNameValidator, languageValidator, firstNameValidator, lastNameValidator]);
            return failedValidators.length == 0;
        }

这可以关闭。

最佳答案

我通常做的是创建一个名为 isSubmitEnabled 或 isFormComplete 之类的方法。我在每个需要的字段上在 keyUp 上调用它,并检查所有字段中的值(以及我想做的任何其他验证),然后只要一切都检查完毕,我就将提交按钮设置为启用,否则我将设置提交按钮被禁用。只要您在开始时禁用该按钮,就可以开始了。

我已经多次使用这种方法,发现它最容易使用,尤其是维护起来。不过,我会查看文档,看看是否可以看到您可以使用表单项上的 required 属性做什么。

更新:

根据文档:

This property controls the indicator display only. You must attach a validator to the children if you require input validation.

你想要的是 mx.validators.Validator ( http://livedocs.adobe.com/flex/3/langref/mx/validators/Validator.html )

 <mx:Validator id="reqValid" required="true"
    source="{fname}" property="text" 
    valid="handleValid(event)" invalid="handleValid(event)"/>

请参阅该链接上的代码示例以了解如何使用它。我认为这个例子实际上正是你正在寻找的。

关于apache-flex - flex 中的必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/585926/

相关文章:

apache-flex - 弹性 : iFrame Obscures Content When Scrolling Vertically

eclipse - Flex eclipse 插件不是免费的吗?

asp.net-mvc - 尽管没有 [Required] 属性,MVC3 仍然出现 'property field is required' 错误

javascript - 如何使输入字段只接受 javaScript 中的字母?

jsf - 如何在不验证所有必需输入的情况下调用命令按钮?

forms - HTML 需要在表单中只读输入

xml - Flex中可变的声音

apache-flex - 如何创建 Treemap 并通过 flex 对其进行描绘?

php - SQL 查询中的 sprintf( '%d' , $tainted ) 是漏洞吗?

pdf - 如何在用户保存时获取可填写的 PDF 以提示必填字段?