【发布时间】:2018-02-08 08:43:51
【问题描述】:
对于自定义页面类型中的字段,在宏或规则设计器中访问当前字段值以进行验证的有效方法是什么?只是Value吗?是FieldName.Value吗? this.Value?
目标是为自定义页面类型创建表单添加满足宏条件(一般条件)的验证规则。例如,如果我想确保 字段名称 为 Foobar 的文本字段的字符串值不为空/null,我将如何将其设置为 一般条件 验证规则?
尝试以下任一方法:
Satisfies macro condition {% !String.IsNullOrEmpty(Value) %}
Satisfies macro condition {% !String.IsNullOrEmpty(Foobar.Value) %}
当 Foobar 字段具有长度大于零 (0) 的字符串值时,尝试保存该字段的值时会出错。当字段为空时,验证奇怪地通过了。
这个Foobar 字段“取决于另一个字段:”。仅当 another 字段为特定值时才需要。在宏规则中,我可以使用OtherField.Value 访问其他字段值,这就是为什么在这种情况下简单地添加“最小长度”规则不起作用的原因。我希望使用以下范围的东西来检查复选框的条件(选中/真)有条件地需要这个文本字段,但是Foobar的字符串/文本评估,当前字段不起作用。
{% if (OtherField.Value == True) { return !String.IsNullOrEmpty(Foobar.Value) } else { return true; } %}
注意:我可以在Foobar 的属性中评估OtherField.Value/OtherField.Length,甚至是“说明文字”。我还可以在OtherField 的属性中评估Foobar.Value。它们具有值/长度/等。
感谢您提供的任何帮助!
【问题讨论】:
标签: kentico