`

用Validator组件检测必填项

    博客分类:
  • Flex
阅读更多
mx.validators包,在Flex框架中是相当的有用,但由于其功能复杂,我总是边用边忘,所以放在这里了

第一个例子:
上面这个例子演示了最简单的用法。如果在“用户名:”输入框中不输入任何文字,那么当使用Tab键把输入焦点动TextInput改变到Button的时候,TextInput的边框会变红,鼠标移动到边框上,就会出现提示文字。

这个效果的源码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="120">
 <mx:Validator id="nameV" source="{nameTI}" property="text" requiredFieldError="必须输入用户名!"/>
 <mx:FormItem label="用户名:">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem> 
 <mx:Button id="btn" label="提交" />
</mx:Application>

从上面的源码可以看出,要使用mx.validators包中的功能真的很简单。Validator组件的功能是检测必填项。我们把要检测的组件的名字写在source属性中,把要检测的组件的属性写在property属性中,然后自定义 requiredFieldError属性的值即可。当然requiredFieldError属性的值也可以不定义,那么就会使用默认的提示文字(英文)。

上面的错误提示的文字有些看不清,只需要加上这样一句就OK了:
<mx:Style>
 .errorTip
 {
 fontSize: 12;
 }
</mx:Style>

上面是一个小小的热身,让我们再来看几个简单的例子。
控制检测时机
默认的情况下,Flex当我们切换组件焦点的时候检测,能不能改变这个检测时机?看看下面这个例子
按Tab键切换焦点已经不能触发检测动作了,只有单击“提交”按钮才会触发检测。源码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="150">
 <mx:Style>
 <![CDATA[
 .errorTip
 {
 fontSize: 12;
 }
 ]]>
 </mx:Style>
 <mx:Validator id="nameV" source="{nameTI}" property="text"
 requiredFieldError="必须输入姓名!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="ageV" source="{ageTI}" property="text"
 requiredFieldError="必须输入年龄!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:FormItem label="姓名:">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>
 <mx:FormItem label="年龄:">
 <mx:TextInput id="ageTI"/>
 </mx:FormItem>
 <mx:Button id="btn" label="提交" />
</mx:Application>

这是因为,在默认情况下,Validator 会在Flex发出valueCommit事件的时候进行检测,因此当焦点改变的时候,会自动进行检测。而上面的源码中,则手动指定了进行检测的事件是btn按钮的click事件。
控制错误显示的目标

Validator还有一个listen属性,这个属性有什么用呢?它用来指定检测的错误信息显示在哪个组件上。这有什么作用呢?难道我们检测到错误信息之后,不显示在发生错误的组件上,反而显示到其它组件上不成?看看例子吧:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="200">
 <mx:Style>
 <![CDATA[
 .errorTip
 {
 fontSize: 12;
 }
 ]]>
 </mx:Style>
 <mx:Validator id="nameV" source="{nameTI}" property="text"
 requiredFieldError="必须输入姓名!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="ageV" source="{ageTI}" property="text"
 requiredFieldError="必须输入年龄!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="sexV" source="{sexRBG}" property="selectedValue"
 requiredFieldError="必须选择性别!"
 trigger="{btn}" triggerEvent="click"
 listener="{maleRB}"/>
 <mx:FormItem label="姓名:" width="150">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>
 <mx:FormItem label="年龄:" width="150">
 <mx:TextInput id="ageTI"/>
 </mx:FormItem>
 <mx:FormItem label="性别:" direction="horizontal" width="150">
 <mx:RadioButtonGroup id="sexRBG"/>
 <mx:RadioButton id="maleRB" groupName="sexRBG" label="男" value="1"/>
 <mx:RadioButton id="femaleRB" groupName="sexRBG" label="女" value="0"/>
 </mx:FormItem>
 <mx:Button id="btn" label="提交" />
</mx:Application>

在上面的例子中,对于性别的选择,由于检测两个RadioButton比较麻烦,采用了检测RadioButtonGroup的 selectedValue属性的方法,如果这个属性为空,就说明两个RadioButton都没有选择。但RadioButtonGroup并不是一个可视组件,检测的错误信息无法显示出来,所以这里就使用了listen属性将显示信息转到maleRB组件上进行显示了。

分享到:
评论

相关推荐

    bootstrapvalidator

    BootstrapValidator的使用通常涉及到以下几个关键知识点: 1. **安装与引入**:首先,你需要在项目中引入Bootstrap和jQuery库,因为BootstrapValidator依赖这两个库。然后,下载或通过CDN链接引入Bootstrap...

    zend-validator, 来自Zend框架的验证器组件.zip

    zend-validator, 来自Zend框架的验证器组件 zend zend验证器提供了一组常用的验证。 它还提供一个简单的验证器链接机制,通过它可以将多个确认器应用到用户定义的顺序中的单个数据。在 ...

    Vue表单验证插件Vue Validator使用方法详解

    在本文中,我们将深入探讨Vue Validator的使用方法及其核心特性。 首先,为了使用Vue Validator,我们需要在项目中引入Vue.js和Vue Validator的库文件。在示例代码中,引用了Vue 1.0.24和Vue Validator 2.1.3的CDN...

    hibernate validator组件

    使用Hibernate Validator时,我们需要在应用上下文中配置验证器,通常是在Spring等框架中完成。配置完成后,我们可以通过Validator接口实例化一个验证器,然后调用`validate()`方法对对象进行验证。如果验证失败,`...

    struts中使用validator验证框架

    Validator框架是Struts的一个重要组件,主要负责处理用户输入的数据验证,确保数据的完整性和正确性。在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先...

    bootstrap-validator插件.zip

    这些规则可以包括但不限于必填项、电子邮件格式、电话号码格式、数字范围等。例如,你可以为一个电子邮件输入框设置`data-validation="email"`,这样当用户未输入有效电子邮件地址时,插件会自动检测并显示错误信息...

    bootstrapValidator包,样例

    2. **验证功能**:BootstrapValidator的核心功能是对表单中的输入字段进行验证,例如检查邮箱格式、手机号码合法性、必填项等。它提供了多种内置验证规则,并支持自定义规则,使得开发者可以灵活地定义验证逻辑。 3...

    BootstrapValidator验证表单插件

    首先,我们要理解BootstrapValidator的基本使用方法。在HTML结构中,我们需要包含BootstrapValidator的CSS和JavaScript文件,以及Bootstrap库本身。然后,通过JavaScript或jQuery来初始化验证器,指定要验证的表单...

    IUI DHtml组件 2008-02-06

    Validator组件通常可以配置各种验证规则,如必填项检查、电子邮件格式验证、数字范围验证等。通过使用Validator,开发者可以轻松实现复杂的数据验证逻辑,而无需编写大量的JavaScript代码。 IUI DHtml组件库的2009...

    hibernate validator jsr303

    3. **hibernate-validator-cdi-5.4.2.Final.jar**:这是针对CDI (Contexts and Dependency Injection) 框架的扩展,使得在CDI环境中使用Hibernate Validator更加方便。 **使用方法** 在Java项目中,可以通过以下...

    BootstrapValidator-0.5.3表单验证

    BootstrapValidator是基于Bootstrap框架的一个强大的表单验证插件,版本0.5.3提供了丰富的功能和自定义选项,使得在Web应用中实现高效且美观的表单验证变得简单易行。这个压缩包包含了该插件的js文件和css样式文件,...

    struts1.3实现的Validator简单验证

    2. 验证规则:Validator支持多种内置验证规则,如必填(required)、长度限制(length)、数字范围(integer、longRange等)。开发者还可以自定义验证规则,通过扩展`FieldValidator`类或使用动态方法调用...

    Laravel开发-php-validator

    1. **验证规则**:Laravel提供了众多内置的验证规则,如`required`(必填)、`email`(电子邮件格式)、`numeric`(数字)、`min`和`max`(长度限制)等。这些规则可以方便地通过数组形式指定,使得验证过程简洁明了...

    jquery validator js验证框架

    以下是一个简单的使用示例,展示了如何应用jQuery Validator对一个包含必填项的表单进行验证: ```javascript $(document).ready(function() { $('#myForm').validate({ rules: { username: { required: true, ...

    BOOTSTRAP VALIDATOR 源码下载

    9. **文档**:提供的文档是理解和使用Bootstrap Validator的关键,它详细解释了各个选项、方法和事件的用法,有助于快速上手。 10. **版本更新**:Bootstrapvalidator-0.4.5可能包含了一些新特性、性能优化或已知...

    validator框架的应用

    `Validator框架`是Java开发中用于数据验证的重要工具,尤其在基于Struts的Web应用程序中,它扮演着不可或缺的角色。...在实际开发中,结合使用Struts的其他组件,如Interceptor拦截器,可以构建出更加健壮的验证机制。

    structs中使用validator框架记事本

    例如,在处理POST请求时,我们可以先用`validator`的`Validate`方法对`User`结构体进行验证: ```go var user User if err := c.ShouldBind(&user); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": ...

    Struts Validator 开发指南

    这段代码指示 Struts 使用 `ValidatorPlugIn` 类,并指定了两个配置文件的位置:`validator-rules.xml` 和 `validation.xml`。`validator-rules.xml` 文件定义了各种预置的验证器,而 `validation.xml` 文件则根据...

    Validator

    下面我们将深入探讨`Validator`的几个关键概念和使用方法: 1. **验证注解**:这些注解是定义验证规则的核心。例如,`@NotNull`表示字段不能为空,`@Size(min=1, max=10)`则表示字段长度必须在1到10之间。还有许多...

Global site tag (gtag.js) - Google Analytics