mx.validators.Validator的错误提示文字的样式修改

       mx.validators.Validator默认的错误提示显示英文文字的确很好看,但显示中文就效果太差了,小的看不清,而且是加粗的。由于mx.validators.Validator没有直接提供应用Style的方法属性,下面的方法就是用StyleManager修改错误显示效果:



test.mxml文件内容:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"
 xmlns="*" verticalGap="0">

    
<mx:Script>
    
<![CDATA[
        import mx.styles.StyleManager;

        function changeNormal() {
            StyleManager.styles.ErrorTip.fontWeight = "nomal";
            StyleManager.styles.ErrorTip.fontFamily = "Arial";
            StyleManager.styles.ErrorTip.fontSize = "9";
            var s1 = StyleManager.styles.ErrorTip.getStyle("fontWeight");
            address.text = s1;
        }

        function changeBold() {
            StyleManager.styles.ErrorTip.fontWeight = "bold";
            StyleManager.styles.ErrorTip.fontFamily = "Helvetica";
            StyleManager.styles.ErrorTip.fontSize = "15";
            var s1 = StyleManager.styles.ErrorTip.getStyle("fontWeight");
            address.text = s1;
        }
    
]]>
    
</mx:Script>
    
<mx:Model id="order">
        
<name>{name.text}</name>
        
<address>{address.text}</address>
        
<city>{city.text}</city>
        
<zip>{zip.text}</zip>
        
<email>{email.text}</email>
    
</mx:Model>

    
<RequiredFieldValidator field="order.name"/>
    
<RequiredFieldValidator field="order.city"/>
    
<mx:EmailValidator field="order.email"/>

        
<mx:Form>
            
<mx:FormItem label="Name" required="true">
                
<mx:Text text="下面输入字符: 1  即有错误提示"/>
                
<mx:TextInput id="name" width="200"/>
            
</mx:FormItem>

            
<mx:FormItem label="Address">
                
<mx:TextInput id="address" width="200"/>
            
</mx:FormItem>

            
<mx:FormItem label="City" required="true">
                
<mx:TextInput id="city" width="200"/>
            
</mx:FormItem>

            
<mx:FormItem label="Zip" required="true">
                
<mx:TextInput id="zip" width="100"/>
            
</mx:FormItem>

            
<mx:FormItem label="Email" required="true">
                
<mx:TextInput id="email" width="200"/>
            
</mx:FormItem>

        
</mx:Form>
    
<mx:HBox>
        
<mx:Button label="一般显示" click="changeNormal()"/>
        
<mx:Button label="加大加粗" click="changeBold()"/>
    
</mx:HBox>

</mx:Application>


RequiredFieldValidator.as文件内容:

class RequiredFieldValidator extends mx.validators.Validator {

    
function doValidation(value) : Void {
        
if (value == "1" || value == null ) {
            validationError(
"required""请输入名字""123");
        }
        
if (value == "2" ) {
            validationError(
"required""error");
        }

    }

}

 

posted @ 2004-07-01 14:47 dannyr|一个都不能少! 阅读(1486) 评论(5)  编辑 收藏 网摘 所属分类: Flex技术

  回复  引用    
#1楼 2005-02-01 15:50 | wangzheng [未注册用户]
好像没有成功
  回复  引用    
#2楼 2005-02-01 15:53 | wangzheng [未注册用户]
我得到两个错误提示:一个是utf-8编码下使用了非utf-8编码(中文),一个就是如果你用S1去获得fontSize的值,仍然是9,请说明,谢谢
  回复  引用    
#3楼 2005-02-01 16:11 | wangzheng [未注册用户]
我试验了好多次,就是得不到你显示出来的那样子,是不是我的flex有问题
  回复  引用  查看    
#4楼 [楼主]2005-02-01 18:49 | dannyr|一个都不能少!      
在mxml文件保存的时候记得使用 utf-8编码方式保存,比如使用window的记事本,选择文件菜单-〉另存为(A),在保存对话框的最下面有编码格式,选择utf-8即可。
  回复  引用    
#5楼 2008-05-25 20:51 | 65656 [未注册用户]
给errorTip定义一下就好了
.errorTip{
font-family:宋体;
font-size: 12px;
fontWeight: normal;
}




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-07-02 09:18 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接: