如何将必填字段转换为 SuiteCRM 的可选字段?
How to convert a required field into optional for SuiteCRM?
我有一个字段-A(下拉)和一个字段-B(文本字段),取决于字段-A的值,字段-B是否可选,例如:
如果字段-A的值为1;然后需要字段 B,为此我使用 SuiteCRM 带来的 JS 函数:addToValidate
但是如果字段-A 的值为 0 我应该将字段-B 转换为可选
对于最后一个案例,我可以使用 SuiteCRM 的什么 JS 功能?
谢谢
如果您想动态更改是否需要某个字段,请查看 Dependency Actions。
它们允许您根据自定义 Sugar Logic 公式的值自动切换给定目标字段的 required-state (true/false)。
根据链接示例和您的示例,它看起来像这样:
./custom/Extension/modules/<module>/Ext/Dependencies/fieldB_required.php
<?php
$dependencies['<module>']['fieldB_required'] = array(
'hooks' => array("edit"),
//Trigger formula for the dependency. Defaults to 'true'.
'trigger' => 'true',
'triggerFields' => array('fieldA'),
'onload' => true,
//Actions is a list of actions to fire when the trigger is true
'actions' => array(
array(
'name' => 'SetRequired', //Action type
//The parameters passed in depend on the action type
'params' => array(
'target' => 'fieldB',
'label' => '<field label>', //normally <field>_label
'value' => 'equal($fieldA, 1)', //Formula
),
),
),
);
fieldA
是字段,当更改时,触发s 公式的 re-evaluation 并将设置 required target 字段的状态 fieldB
到 equal($fieldA, 1)
.
的值
备注:
- 虽然依赖操作是在 PHP 文件中定义的,但您提供的公式通常在 client/javascript-side 事物上执行,因此您无需编写自定义 javascript代码。
- 这是 SugarCRM 的一个功能,但它已经很老了,所以希望 SuiteCRM 仍然支持它。
我有一个字段-A(下拉)和一个字段-B(文本字段),取决于字段-A的值,字段-B是否可选,例如:
如果字段-A的值为1;然后需要字段 B,为此我使用 SuiteCRM 带来的 JS 函数:addToValidate
但是如果字段-A 的值为 0 我应该将字段-B 转换为可选
对于最后一个案例,我可以使用 SuiteCRM 的什么 JS 功能?
谢谢
如果您想动态更改是否需要某个字段,请查看 Dependency Actions。
它们允许您根据自定义 Sugar Logic 公式的值自动切换给定目标字段的 required-state (true/false)。
根据链接示例和您的示例,它看起来像这样:
./custom/Extension/modules/<module>/Ext/Dependencies/fieldB_required.php
<?php
$dependencies['<module>']['fieldB_required'] = array(
'hooks' => array("edit"),
//Trigger formula for the dependency. Defaults to 'true'.
'trigger' => 'true',
'triggerFields' => array('fieldA'),
'onload' => true,
//Actions is a list of actions to fire when the trigger is true
'actions' => array(
array(
'name' => 'SetRequired', //Action type
//The parameters passed in depend on the action type
'params' => array(
'target' => 'fieldB',
'label' => '<field label>', //normally <field>_label
'value' => 'equal($fieldA, 1)', //Formula
),
),
),
);
fieldA
是字段,当更改时,触发s 公式的 re-evaluation 并将设置 required target 字段的状态 fieldB
到 equal($fieldA, 1)
.
备注:
- 虽然依赖操作是在 PHP 文件中定义的,但您提供的公式通常在 client/javascript-side 事物上执行,因此您无需编写自定义 javascript代码。
- 这是 SugarCRM 的一个功能,但它已经很老了,所以希望 SuiteCRM 仍然支持它。