对数字字段进行验证
Making a valdiation for a numeric field
这可能是个愚蠢的问题,但我一直被以下问题困扰:
所以我有字段 "svars",它是数字字段。我想要实现的是,当用户输入等于 0 的值时,它会显示提示并将值设置为“”。我知道@prompt 之后的“”不会那样做,但我不知道如何做到这一点,因为@if 中条件的动作是提示,它始终将值设置为 1如果我在提示框中按确定。有人对如何进行检查、将值设置为“”并显示提示有任何建议吗?
@If (svars=0;
@Prompt([OK];"Kļūda";"Kļūdas teksts");
""
)
您需要考虑两个地方。首先是字段的"Input Translation"。您通常会在该领域进行更改。如果你想将 0 重置为 "" 那么你可以在翻译公式中编写以下代码:
@If( @ThisValue = 0;
@Do( @Prompt( [OK] ; "Kļūda";"Kļūdas teksts"); "" );
@ThisValue );
公式显示提示,然后将字段值替换为“”(对于值 = 0),否则保留当前值。
如果你想在错误值的情况下禁止保存文档,那么你可以使用字段的 "Input Validation" 公式,并且可以这样做:
@If( @ThisValue = 0;
@Failure( "Kļūdas teksts" );
@Success );
这不会重置 "wrong" 值,但不会让用户保存文档,直到他填写另一个值。
如果您的 "check" 在其他地方(在保存按钮或某种事件中),那么它看起来像这样:
@If( svars = 0;
@Do( @Prompt( [OK] ; "Kļūda";"Kļūdas teksts"); FIELD svars := "" );
"" );
这是最不安全的方法,因为用户总是可以通过使用 "Ctrl + S" 或磁盘符号
来保存文档而无需按您的按钮
这可能是个愚蠢的问题,但我一直被以下问题困扰:
所以我有字段 "svars",它是数字字段。我想要实现的是,当用户输入等于 0 的值时,它会显示提示并将值设置为“”。我知道@prompt 之后的“”不会那样做,但我不知道如何做到这一点,因为@if 中条件的动作是提示,它始终将值设置为 1如果我在提示框中按确定。有人对如何进行检查、将值设置为“”并显示提示有任何建议吗?
@If (svars=0;
@Prompt([OK];"Kļūda";"Kļūdas teksts");
""
)
您需要考虑两个地方。首先是字段的"Input Translation"。您通常会在该领域进行更改。如果你想将 0 重置为 "" 那么你可以在翻译公式中编写以下代码:
@If( @ThisValue = 0;
@Do( @Prompt( [OK] ; "Kļūda";"Kļūdas teksts"); "" );
@ThisValue );
公式显示提示,然后将字段值替换为“”(对于值 = 0),否则保留当前值。
如果你想在错误值的情况下禁止保存文档,那么你可以使用字段的 "Input Validation" 公式,并且可以这样做:
@If( @ThisValue = 0;
@Failure( "Kļūdas teksts" );
@Success );
这不会重置 "wrong" 值,但不会让用户保存文档,直到他填写另一个值。
如果您的 "check" 在其他地方(在保存按钮或某种事件中),那么它看起来像这样:
@If( svars = 0;
@Do( @Prompt( [OK] ; "Kļūda";"Kļūdas teksts"); FIELD svars := "" );
"" );
这是最不安全的方法,因为用户总是可以通过使用 "Ctrl + S" 或磁盘符号
来保存文档而无需按您的按钮