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
  • 相关阅读:
    MySQL注入总结
    使用JavaScript扫描端口
    dvwa+xampp搭建显示乱码的问题:解决办法
    精读《12 个评估 JS 库你需要关心的事》
    TinyMCE上传图片word
    xhEditor上传图片word
    JAVA大文件(100G以上)的上传下载实现技术
    JAVA大文件(1G以上)的上传下载实现技术
    java 支持 超大上G,多附件上传问题
    java 支持 超大上G,多附件上传方法
  • 原文地址:https://www.cnblogs.com/starcrm/p/2090545.html
Copyright © 2011-2022 走看看