• FORM中诡异的VALIDATE事件


    Form的validate行为可以由一个总的form级别的validation属性来控制.
    可以通过set_form_property来设置成PROPERTY_TRUE 和 PROPERTY_FALSE
    当程序的焦点离开当前validation_unit时候,就会触发该validation_unit的validate事件.
    Validation unit的级别又是通过form的validation unit属性来设置的,有以下属性值:
    Default, form, block, record, item.
    也就是说当设置validation unit为block时,只有当焦点离开一个block,才会触发validate.
    根据valiation unit的不同,又分为validate form, validate block, validate record, validate item.
    Validate form: validate form中所有block
    Validate block: validate block中所有record
    Validate record: 如果该record为valid,则停止,否则validate该record中所有item, 然后触发
    WHEN-VALIDATE-RECORD Triiger
    Validate item: 如果当前item为valid,则停止, 否则执行该item标准check,包括LOV(如果
    validate_from_list属性为true),最后触发WHEN-VALIDATE-ITEM Trigger.
    也可以通过validate方法,来强制validate数据(注意:此时若form的validation属性设置为false,则强制 validate方法也不能validate数据),该方法的有一个参数,可以设定validate的级别:Default_scope, form_scope, block_scope, record_scope, item_scope.
    Validate trigger主要有2个,WHEN-VALIDATE-ITEM以及WHEN-VALIDATE-RECORD,2个trigger都有form级别以及block级别,另外WHEN-VALDATE-ITEM还有item级别。

             

                成长

           /      |     \

        学习   总结   分享

    QQ交流群:122230156

  • 相关阅读:
    EF-入门操作
    Razor 页面解说
    Razor_02 第一个应用程序+Model+EF 添加
    Razor_01 第一个应用程序
    LazyCoder修仙之路
    .NET高级特性-Emit(2.2)属性
    .NET高级特性-Emit(2.1)字段
    .NET高级特性-Emit(2)类的定义
    .NET高级特性-Emit(1)
    asp.net core高级应用:TagHelper+Form
  • 原文地址:https://www.cnblogs.com/benio/p/2032549.html
Copyright © 2020-2023  润新知