zoukankan      html  css  js  c++  java
  • 智能表单设计器Web Free Form Designer:FreeForm动态数据验证和动态自动计算

    FreeForm自动计算及数据验证

     

    FreeForm自动计算

    创建2个控件用于演示自动计算:

     

    进入Runtime Design 添加自动计算

    字符型公式

     

    选择ToUpper

     

    然后将鼠标放在括号()的中间

     

    请按键盘 Ctrl 键,将自动出现当前的控件列表,选择FieldA

    点击 Add ,并点击 OK

     

    FieldA输入abcd,然后进入Runtime Design 测试自动计算

    点击“Test Calculation

    可以看到效果:

     

    其他操作的方法也是类似。

     

    时间公式

     

    FieldA添加公式ShortDateString

     

    效果:

     

    选择 Now

     

    点击“Test Calculation

    可以看到效果:

    数字公式

     

    还记得圆面积的计算公式吗?是πr²(圆周率*半径的平方)

     

    添加公式:

    我们现在要试验一下,半径输入5

     

    点击“Test Calculation

    可以看到效果:

     

     

    FreeForm提供了2种数据验证方式:一般验证和自定义验证,前者是为较简单的验证提供支持,后者可以编写复杂的组合,可以用于较复杂的业务系统。

     

    FreeForm一般验证

    进入Runtime Design 添加验证:

     

    一些例子

    比如我们要规定Min Age最小年龄必须等于1,最大年龄必须小于等于150,那么可以这么定义:

     

    如果我们输入了错误的值,点击“Test Validations”或者“Design Check”中的“Check”。

    会自动出现错误提示。

    支持的验证方法还有很多,不一一介绍,其中就包括几乎万能的正则表达式。

     

    FreeForm动态自定义验证

    一般验证有局限性,那就是只能一个语句一个语句的录入,一些复杂的验证难以实现,于是我们就开发了动态的客户自定义验证方式.

     

    进入Runtime Design 添加自定义验证:

     

    一些例子

    比如我们规定在性别选择了Male或者Female的时候,real Age必须大于Min Age,同时,必须小于Max Age,在不选MaleFemale的时候,不予验证。

     

    我们可以这样定义(选择简练的3目运算符):

    ( [Male] == 'True' ||  [Female] == 'True') ?

    ( [Male] == 'True' ||  [Female] == 'True') && ( [RealAge]  >= [MinAge]) && ( [RealAge] <= [MaxAge] ) : true

     

    或者用更直观的If-Else写法:

    if ([Male] == 'True' ||[Female] == 'True')

    {( [RealAge]  >= [MinAge]) && ( [RealAge] <= [MaxAge] ) ;}

    else {true;}

    声明变量也是可以的:

    var MaleorFemale=([Male] == 'True' ||[Female] == 'True');

    if (MaleorFemale == true)

    {( [RealAge]  >= [MinAge]) && ( [RealAge] <= [MaxAge] ) ;}

    else {true;}

     

     

    千万不要忘了键盘 Ctrl 键,它将自动出现当前的控件列表,非常方便。效果如下:

     

    测试一下效果

    当有一项性别选中时,年龄大于150

    提示错误:

    并且显示红框:

     

    当性别不选的时候,即使大于150也不会抱错。

     

    这个例子我们放在Demo菜单里,您可以测试。

    验证可以通过点击“Test Validations”或者“Design Check”中的“Check”。

     

     

     

     

    我们的网站(昕友软件):http://crmwin.com
    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置
    Using BitBucket for Source Control
    我去年写的数据访问层(EF篇)
    asp.net 导出Excel 设置格式
    各方面小知识点总结
    JavaWeb知识
    运行命令对电脑的操作(Windows + R)
    Android开发中用到的命令 —— 整理贴(转自别人,继续完善中...)
    解析XML文件(包含DOM4J,Xpath,SAX)第一部分
    SharePoint 2010 C# 获取People Or Group
  • 原文地址:https://www.cnblogs.com/starcrm/p/2090545.html
Copyright © 2011-2022 走看看