对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>
分享到:
相关推荐
### Struts1的Validator验证框架详解 在Java Web开发领域,Struts1作为一个经典且流行的MVC框架,提供了丰富的功能来构建动态Web应用。其中,Validator框架是Struts1用于客户端和服务端表单验证的强大工具,它能...
这些选项包括基本的设置,如`ignore`(忽略某些元素的验证),`errorElement`(定义错误消息的HTML元素),以及`highlight`和`unhighlight`(高亮和取消高亮错误字段)。 ### 5. 提交处理 框架提供了`...
ASP.NET提供了多种内置的验证控件,包括`RequiredFieldValidator`、`CompareValidator`、`RangeValidator`、`RegularExpressionValidator`以及`CustomValidator`,这些控件可以帮助开发者快速实现各种常见的验证逻辑...
Vue-validator 是Vue的表单验证插件,供大家参考,具体内容如下 Vue版本: 1.0.24 Vue-validator版本: 2.1.3 基本使用 <validator name=validation> <form novalidate> <label for=username>username...
BootStrapValidator验证的表单中只可有一个 type="submit" 的按钮。 我这样写了之后 (代码如下) ,点击其它按钮仍会触发验证… 1.错误代码 //示意 <form> ... <button type="submit">提交</...
传统的bootstrapValidator验证是 $('#MaintainEntryForm').bootstrapValidator({ message: '输入值无效!', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', ...
3. **正则表达式验证**:若需验证输入是否符合特定模式,可以使用RegularExpressionValidator控件。将正则表达式作为验证规则,匹配TextBox中的输入。例如,检查电子邮件地址格式或电话号码格式。 4. **...
2. **取消验证状态**:当 validatebox 在 dialog 中使用时,如果用户在未通过验证的情况下关闭 dialog,再次打开时验证状态会保留,即使输入正确也显示为未通过。EasyUI 并未提供直接取消验证的方法,但可以通过直接...
Xpresser取消插件 该插件使用Abolish来验证您的请求正文和查询。 class UserController extends ControllerClass { login ( http ) { const [ error , data ] = http . validateBody ( { email : "email" , ...
// 不做任何处理,禁用默认的取消高亮 } ``` 综上所述,`jQuery Validate` 提供了一种高效且灵活的方式来实现无弹窗的表单验证。通过配置不同的规则、消息和行为,你可以创建符合项目需求的定制化验证方案。在实际...
本文将详细介绍两种方法来取消MyEclipse中的JavaScript验证,以提升开发效率。 **方法一:通过工程属性设置取消验证** 1. 首先,你需要打开MyEclipse,然后选择你要取消验证的Web工程。 2. 右键点击该工程,选择...
例如,`$.fn.validate()`可以直接作用于一个表单元素,`$.validator.addMethod()`可以自定义验证方法。 (五)验证器 (Validator) 验证器是jQuery验证框架的核心组件,它负责执行验证逻辑。开发者可以通过调用验证...
- 如果你的项目使用了Bootstrap,可以使用`bootstrapValidator`插件,它与Bootstrap的样式更加融合。 13. **示例代码**: ```javascript $(document).ready(function() { $("#myForm").validate({ rules: { ...
特征CSV / TSV / PSV文件检测灵活的表格编辑器可自定义的文本编辑器可自定义的列着色可自定义的行注释语法验证语法高亮(可定制) 内容格式(可定制) 快速修复检查意图(Alt + Enter),例如,引用/取消引用(全部...
对于更复杂的场景,可以使用自定义的验证注解,配合Validator插件,实现更加灵活的验证逻辑和错误展示。 总的来说,取消Struts 2的fielderror默认样式涉及到对Struts 2模板、CSS、Action类和拦截器的理解和操作。...
在开发Web应用时,验证用户输入是至关重要的一步,以确保数据的准确性和安全性。jQuery Validation插件是一个广泛使用的客户端验证工具,它简化了在jQuery环境中进行表单验证的过程。在本文中,我们将深入探讨如何在...
#用于对象验证的库 用于对象验证的Javascript库,该库允许添加自定义验证方案或使用默认方案值。 当前可用-uuid,字符串,日期和数字验证。 方法: registerModel(modelName:String,model:Object)寄存器模型...
氦气渗透这是一个非常基本的监视脚本,它将氦气验证器共识组性能指标写入InfluxDB Cloud。 要进行设置: 将config.js.template复制到config.js并更新从InfluxDB Cloud Console获取的值chmod + x poll.js 将poll.js...