.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
理解XForm——学习IBM DW的资料 (3)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

1、XForm灵活的客户端数据校验功能

数据验证一般包括三种类型:

  • 完整性(Completeness):用户必须填充所有要求的字段。有时候,某个字段是否必须填充依赖于另一个字段的值。比如,只有当用户使用信用卡支付时才需要信用卡号。
  • 数据类型(Data types): 数字必须是数字、日期必须是日期,依次类推。
  • 合理性(Appropriateness):电话号码应该只包含数字,或者还可以包含与区号有关的短线和括号。邮政编码必须有 5 个数字组成,还可以带有短线和“加四”号码。

XForm提供Model中数据节点的类型绑定机制,如:

<xforms:model id=“payinfo“>

<xforms:submission action="http://www.example.com/orderform.php"
               method="post"/>
         <xforms:instance xmlns="">
            <paymentinfo>
                <method></method>
                <cardtype></cardtype>
                <cardnumber></cardnumber>
                <expdate></expdate>
            </paymentinfo>
         </xforms:instance>

<xforms:bind ref="paymentinfo" type="ccnumber"/>  
    <xsd:schema> 
             <xsd:simpleType name="ccnumber">  
                   <xsd:restriction base="xsd:string">   
      <xsd:pattern value="\d{14,18}"/>
                   </xsd:restriction>  
             </xsd:simpleType>  
      </xsd:schema>  

</xforms:model>

2、强制输入

...
         </xsd:schema>
         <xforms:bind ref="paymentinfo/cardnumber"
                           required="true()" 
                           type="ccnumber"/>
      </xforms:model>
...

3、带条件的强制输入

如只有当用户选择信用卡支付时才要求输入信用卡号:

...
          </xsd:schema>
          <xforms:bind ref="paymentinfo/cardnumber"
                       relevant="paymentinfo/method = 'cc'"  
                       required="true()"
                       type="ccnumber"/>
      
      </xforms:model>

4、只读字段

如“单价”字段不允许修改

...
            </order>
         </xforms:instance>
         <xforms:bind ref="order/soaps/item/unitprice"
                 readonly="true()"/> 

      </xforms:model>
...

5、计算字段

如“总价”=数量 *  单价:
...
            </order>
         </xforms:instance>
         <xforms:bind ref="order/soaps/item/unitprice" readOnly="true()"/>
         <xforms:bind ref="order/soaps/item/totalprice"  
               calculate="../qty * ../unitprice"/>
      </xforms:model>
...

6、bind元素的其它属性

  • constraint:该属性设置任意的约束。比如,开发人员可以限制某个节点比另一个小。
  • maxOccursminOccurs:这两个属性确定表单中可以出现多少个项。
  • p3ptype:该属性把一个节点绑定到用户私有工作文件中的信息。



相关文章

相关软件