简单学习了一下 mx 的validator组件 ,以及自定义组件
<mx:StringValidator id="txt_name_string_validator" maxLength="20" minLength="6" property="text" source="{txt_name}" required="true" requiredFieldError="请输入用户名"
tooLongError="用户名太长,最长为20位."
tooShortError="用户名太短,最短6位."
trigger="{txt_name}" triggerEvent="click"
/>
<mx:StringValidator id="txt_pwd_string_validator" maxLength="20" minLength="6" property="text" source="{txt_pwd}" required="true" requiredFieldError="请输入密码"
tooLongError="用户名太长,最长为20位."
tooShortError="用户名太短,最短6位."
trigger="{txt_pwd}" triggerEvent="click"
/>
<validator:AccountValidator id="txt_name_account_validator" accountError="用户名只能输入字母,数字和下划线" property="text" source="{txt_name}"
trigger="{txt_name}" triggerEvent="click"
/>
<validator:PwdValidator id="txt_pwd_pwd_validator" pwdError="密码只能输入字母,数字" property="text" source="{txt_pwd}"
trigger="{txt_pwd}" triggerEvent="click"
/>
---------------------
自定义validator 需要继承Validator类
package com.mjp.validators
{
import mx.validators.ValidationResult;
import mx.validators.Validator;
public class PwdValidator extends Validator
{
private var _pwdError:String ="只能为英文,数字";
public function PwdValidator()
{
super();
}
public function get pwdError():String
{
return _pwdError;
}
public function set pwdError(value:String):void
{
_pwdError = value;
}
override protected function doValidation(value:Object):Array
{
//定义返回值,并初始化
var results:Array;
results = [];
//执行父类的基本数据校验
results = super.doValidation(value);
if(results.length > 0){ //如果校验未通过,则终止继续执行。
return results;
}
//如果校验通过,则执行自定义的校验功能。
//利用正则表达式校验:只能为英文或数字
var regExp1:RegExp = new RegExp("[^A-Za-z0-9]");
//校验
if(regExp1.test(value.toString())){
//如果校验未通过,则生成一个校验结果
var vr:ValidationResult = new ValidationResult(true,null,"pwdError",pwdError);
//把校验结果加入到返回值数组中。
results.push(vr);
}
//返回校验结果
return results;
}
}
}
-----------------
当点击提交按钮时先进行组件验证方法:
private function validateBeforeLogin():Boolean{
var flag:Boolean = true;
var event:ValidationResultEvent = txt_name_string_validator.validate();
//执行校验
if(event.type == ValidationResultEvent.INVALID){
(event.target.source as UIComponent).setFocus();
flag = false;
}
event = txt_name_account_validator.validate();
//执行校验
if(event.type == ValidationResultEvent.INVALID){
(event.target.source as UIComponent).setFocus();
flag = false;
}
event = txt_pwd_string_validator.validate();
//执行校验
if(event.type == ValidationResultEvent.INVALID){
(event.target.source as UIComponent).setFocus();
flag = false;
}
event = txt_pwd_pwd_validator.validate();
//执行校验
if(event.type == ValidationResultEvent.INVALID){
(event.target.source as UIComponent).setFocus();
flag = false;
}
return flag;
}
分享到:
相关推荐
自定义注解参数校验框架,根据项目开发中参数校验情况手写一套框架,供大家学习参考使用。可以直接运用在项目中,如果漏洞请留言,小编会第一时间修复,如果好用请给个好评,谢谢。
主要介绍了Hibernate validator使用以及自定义校验器注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
nice-validator前端校验的使用说明,内含demo和js,可以结合我的博客使用,也可前去官网查看API说明。
今天在改后台页面,参数校验错误时输出全是英文,使用着很难看懂到底时什么错了 故而决定去做i18n前端国际化. 改的时候踩了很多坑,故而记录一下,顺便记录以下查问题的方式。 效果 从原来的Title is required变为...
主要介绍了bootstrapValidator表单校验、更改状态、新增、移除校验字段,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了vant(ZanUi)结合async-validator实现表单验证的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Hibernate Validator校验框架学习
Hibernate Validator校验框架Demo基于springmvc
今天小编就为大家分享一篇vue props对象validator自定义函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
包含hibernate-valdator等用于数据校验所需要的基本jar包。
通过用户登录的例子,用Struts2的validator做后台的校验
springmvc 使用hibernate-validator校验框架所需的校验包
主要介绍了springboot使用Validator校验方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
json-schema-validator 使用 jjv 的自定义 json 模式验证器
主要给大家介绍了关于Laravel Validator自定义错误返回提示消息并在前端展示的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要为大家详细介绍了Vue表单验证插件Vue Validator使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了SpringBoot 使用hibernate validator校验,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
摘要:脚本资源,Ajax/JavaScript,表单验证插件,Validator 我分别用 YUI 2.6 和 jQuery 写了两个库的校验框架,基本上能够应付常用的校验工作了。校验恐怕是前端工程师最头疼的工作之一,希望使用这个框架能帮助大家...
本文主要讨论的是vee-validator校验方案。 表单校验的封装 在vue项目中,表单校验是每个前端开发人员都避免不了的需求。校验的好处可以避免无用的 http 请求,及校验不通过不发送请求,也可以提高用户的体验效果。 ...