`
luhantu
  • 浏览: 199958 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

取消Validator的验证

    博客分类:
  • Flex
阅读更多

对TextInput输入框进行验证时flex中最基本的一些功能,但是在工作当中遇到了一个问题:如果一个输入框是动态的,它需要根据前面的type进行不同的验证,怎么实现?

当对TextInput框进行了StringValidator的验证后,然后根据Type类型,这个TextInput框现在需要用NumericValidator进行验证,但是却发现不能取消此前的StringValidator的验证,即使你把此validator disable掉。但是它的errorString仍然存在。

后来通过研究源代码发现,你不能手动设置它的errorString为空,那样它的oldString仍然不为空,而这个oldString在将来的验证中仍然会使用并在验证时显示出来。

那么怎么才能取消掉这个Validator呢?

 

 

<?xml version="1.0"?>
<!-- validators\StringExample.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"> 
	<fx:Script>
		<![CDATA[
			import mx.events.ValidationResultEvent;
			import mx.validators.StringValidator;
			import mx.validators.Validator;
			
			import spark.validators.NumberValidator;
			private var dic:Dictionary = new Dictionary();
			protected function button1_clickHandler(event:MouseEvent):void
			{
				if(userNameInput.errorString && userNameInput.errorString != "")
				{
					return;
				}
				var strValidator:StringValidator = new StringValidator();
				strValidator.minLength = 6;
				strValidator.maxLength = 12;
				strValidator.source = userNameInput;
				strValidator.property = "text";
				strValidator.validate();
				dic[userNameInput] = strValidator;
			}
			
			protected function button2_clickHandler(event:MouseEvent):void
			{
				var resultEvent:ValidationResultEvent = new ValidationResultEvent(ValidationResultEvent.VALID);
				(dic[userNameInput] as Validator).dispatchEvent(resultEvent);
				(dic[userNameInput] as Validator).enabled = false;
				delete dic[userNameInput];
			}
			
			protected function button3_clickHandler(event:MouseEvent):void
			{
				var numValidator:NumberValidator = new NumberValidator();
				numValidator.maxValue = 50;
				numValidator.source = userNameInput;
				numValidator.property = "text";
				numValidator.validate();
				dic[userNameInput] = numValidator;
			}
		]]>
	</fx:Script>
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<s:TextInput id="userNameInput"/>
	<s:Button  label="String Validate" click="button1_clickHandler(event)"/>
	<s:Button label="Cancel Validator" click="button2_clickHandler(event)"/>
	<s:Button label="Numeric Validator" click="button3_clickHandler(event)"/>
</s:Application>
 

 

分享到:
评论

相关推荐

    验证控件使用说明,RequiredFieldValidator,CompareValidator ,RangeValidator ,RegularExpressionValidator,CustomValid

    所有验证控件的使用说明,验证控件,RequiredFieldValidator,CompareValidator ,RangeValidator ,RegularExpressionValidator,CustomValid

    BootStrap 动态添加验证项和取消验证项的实现方法

     传统的bootstrapValidator验证是 $('#MaintainEntryForm').bootstrapValidator({ message: '输入值无效!', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', ...

    BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑

    BootStrapValidator验证的表单中只可有一个 type="submit" 的按钮。 我这样写了之后 (代码如下) ,点击其它按钮仍会触发验证… 1.错误代码 //示意 &lt;form&gt; ... &lt;button type="submit"&gt;提交&lt;/...

    abolish-validator:取消Xpresser的验证程序插件

    Xpresser取消插件 该插件使用Abolish来验证您的请求正文和查询。 class UserController extends ControllerClass { login ( http ) { const [ error , data ] = http . validateBody ( { email : "email" , ...

    intellij-csv-validator:用于JetBrains Intellij IDEA,PyCharm,WebStorm等的CSV验证器,突出显示器和格式设置插件。

    特征CSV / TSV / PSV文件检测灵活的表格编辑器可自定义的文本编辑器可自定义的列着色可自定义的行注释语法验证语法高亮(可定制) 内容格式(可定制) 快速修复检查意图(Alt + Enter),例如,引用/取消引用(全部...

    MyEclipse取消验证Js的两种方法

    前言:有时我们通过js写一个web工程的相关页面时感觉... 去掉以下几行即可 代码如下: &lt;buildCommand&gt; &lt;name&gt;org.eclipse.wst.jsdt.core.javascriptValidator&lt;/name&gt; &lt;arguments&gt; &lt;/arguments&gt; &lt;/buildCommand&gt; &lt;nat

    js_object_validator

    #用于对象验证的库 用于对象验证的Javascript库,该库允许添加自定义验证方案或使用默认方案值。 当前可用-uuid,字符串,日期和数字验证。 方法: registerModel(modelName:String,model:Object)寄存器模型...

    helium-validator-performance:使用InfluxDB Cloud的NodeJS验证器惩罚监控脚本

    氦气渗透这是一个非常基本的监视脚本,它将氦气验证器共识组性能指标写入InfluxDB Cloud。 要进行设置: 将config.js.template复制到config.js并更新从InfluxDB Cloud Console获取的值chmod + x poll.js 将poll.js...

    Commerce Cloud Recommendation Validator-crx插件

    语言:English (United States) ... 6-检测非.com域扩展0.9.4更新的像素:-停止跟随“取消订阅”链接,这可能导致用户无意中取消其电子邮件列表0.9.3更新:-检测更多类型的错误像素URL和提示 对其进行漫游验

    asp.net专家疑难解答200问源码

    68.如何使用RegularExpressionValidator控件验证E-mail地址和邮编等格式 69.如何使用RangeValidator控件验证输入的信息是否在指定范围内 70.如何使用CompareValidator控件对两个输入控件比较验证 71.如何使用...

    Eclipse编辑jsp、js文件时卡死现象的解决办法汇总

    1、取消验证 windows–&gt;perferences–&gt;validation 把 除了manual 下面的全部点掉,build下只留 classpath dependency Validator 2、关闭拼写检查 windows–&gt;perferences–&gt;general–&gt; editors-&gt;Text Editors-&gt;...

    asp.net专家疑难解答200问

    如何使用RegularExpressionValidator控件验证E-mail地址和邮编等格式 69.如何使用RangeValidator控件验证输入的信息是否在指定范围内 70.如何使用CompareValidator控件对两个输入控件比较验证 71.如何...

    My_portfolio:我的投资组合网站

    JavaScript [TypedJS,Validator和ES6](用于所有验证,键入和取消键入活动以及动画) jQuery(动画和动态外观) Github页面(托管) FormSpree API(用于接受电子邮件和动态联系方式) 该网站托管于: :

    ASP.NET 控件的使用

    3.5 使用RegularExpressionValidator控件 103 3.6 使用CustomValidator控件 105 3.7 使用ValidationSummary控件 111 3.8 创建自定义验证控件 114 3.8.1 创建LengthValidator控件 115 3.8.2 创建AjaxValidator控件 ...

    ASP.NET.4揭秘

    3.5 使用regularexpressionvalidator控件114 3.6 使用customvalidator控件116 3.7 使用validationsummary控件122 3.8 创建自定义验证控件126 3.8.1 创建lengthvalidator控件127 3.8.2 创建ajaxvalidator控件129 3.9 ...

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    ASP.NET常用代码

    【日期的验证表达式】 A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31] ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    (XML取消了所有标识,包括font,color,p等风格样式定义标识,因此XML全部是采用类似DHTML中CSS的方法来定义文档风格样式。),XML中用来设定显示风格样式的文件类型有: 1.XSL XSL全称是Extensible Stylesheet ...

Global site tag (gtag.js) - Google Analytics