在%Save()

时间:2015-07-13 10:16:19

标签: validation properties save intersystems-cache objectscript

鉴于:

  • 一个名为B的课程。
  • B类的2个持续记录,id = {" B1"," B2"}。
  • 名为A的课程:

    class A Extends %Persistent
    {
     Property rB As B;
     ForeignKey FKB(rB) References B();
    }
    
  • A类的一个实例,名为objA,其中objA.rB =" B3" (这是一个无效的值,因为B没有" B3"持续记录)

我想要:

当要保存objA时(objA。%Save()),用空字符串替换rB无效值并保存。

到目前为止:

我尝试使用回调方法(%OnBeforeSave)进行替换,但似乎之前正在调用%ValidateObject。

有没有办法在%ValidateObject之前使用回调方法进行值更改?

提前致谢。

1 个答案:

答案 0 :(得分:2)