自定义字段的日期验证 - SuiteCRM 版本 7.10.4 Sugar 版本 6.5.25(内部版本 344)
Date validation for custom field - SuiteCRM Version 7.10.4 Sugar Version 6.5.25 (Build 344)
我的模块中有两个字段名为:start_date_c & end_date_c 日期数据类型
这些字段不是必填字段,但是当我在 end_date_c 字段中输入数据时,我想让它不少于 start_date_c
我试过以下方法:
- https://suitecrm.com/suitecrm/forum/suitecrm-7-0-discussion/12522-how-to-validate-start-and-end-date-in-suitecrm
- http://sugarmods.co.uk/how-to-add-custom-validation-to-form-fields-in-sugarcrm/
但由于我是 suiteCRM 的新手,我无法找到积极的回应
你需要两样东西
- 在要添加逻辑的模块中编辑文件 editviewdefs.php。当您将第一个自定义字段添加到编辑视图时,将自动生成此字段。
- 创建自定义 JS 逻辑以定义字段何时有效。
这里的逻辑将为您的
添加一个验证回调
addToValidateCallback(
'EditView', // Form Name
'end_date_c', // field name
'datetime', // Field type
false, // Is required
"End date cannot be earlier than start date", // Message
function() {
//WRITE YOUR JS VALIDATION HERE, return true when is valid
});
在editviewdefs.php中找到字段定义并使用displayParams使suite/sugar为您添加JS。
array (
'name' => 'end_date_c',
'displayParams' =>
array (
'updateCallback' => 'FUNCTIONNAME',
),
),
如果您已经拥有全局自定义 JS(例如自定义主题的 style.js 文件),则不需要最后一步。
编辑:javascript DisplaParams 将不起作用,因此添加了 updateCallback 选项。
现在这个验证有两种方式。
- updateCallback 将在更改时触发
- 保存时将触发 addtoValidateCallback。
这将为您提供足够的灵活性来验证表单。
简单且线性,尝试在任何 JS 文件中执行以下操作(在模块编辑视图中添加):
addToValidateDateBefore('EditView', 'start_date_c', 'date', false,'Date Start', 'end_date_c' );
对我有用。
我将以下代码添加到 modules/custom_module/vardefs 中的字段。php
'audited' => true,
'enable_range_search' => true,
并将以下内容添加到 start 字段
'validation' =>
array (
'type' => 'isbefore',
'compareto' => 'enddate',
'blank' => true,
),
我的模块中有两个字段名为:start_date_c & end_date_c 日期数据类型
这些字段不是必填字段,但是当我在 end_date_c 字段中输入数据时,我想让它不少于 start_date_c
我试过以下方法:
- https://suitecrm.com/suitecrm/forum/suitecrm-7-0-discussion/12522-how-to-validate-start-and-end-date-in-suitecrm
- http://sugarmods.co.uk/how-to-add-custom-validation-to-form-fields-in-sugarcrm/
但由于我是 suiteCRM 的新手,我无法找到积极的回应
你需要两样东西
- 在要添加逻辑的模块中编辑文件 editviewdefs.php。当您将第一个自定义字段添加到编辑视图时,将自动生成此字段。
- 创建自定义 JS 逻辑以定义字段何时有效。
这里的逻辑将为您的
添加一个验证回调 addToValidateCallback(
'EditView', // Form Name
'end_date_c', // field name
'datetime', // Field type
false, // Is required
"End date cannot be earlier than start date", // Message
function() {
//WRITE YOUR JS VALIDATION HERE, return true when is valid
});
在editviewdefs.php中找到字段定义并使用displayParams使suite/sugar为您添加JS。
array (
'name' => 'end_date_c',
'displayParams' =>
array (
'updateCallback' => 'FUNCTIONNAME',
),
),
如果您已经拥有全局自定义 JS(例如自定义主题的 style.js 文件),则不需要最后一步。
编辑:javascript DisplaParams 将不起作用,因此添加了 updateCallback 选项。
现在这个验证有两种方式。
- updateCallback 将在更改时触发
- 保存时将触发 addtoValidateCallback。
这将为您提供足够的灵活性来验证表单。
简单且线性,尝试在任何 JS 文件中执行以下操作(在模块编辑视图中添加):
addToValidateDateBefore('EditView', 'start_date_c', 'date', false,'Date Start', 'end_date_c' );
对我有用。
我将以下代码添加到 modules/custom_module/vardefs 中的字段。php
'audited' => true,
'enable_range_search' => true,
并将以下内容添加到 start 字段
'validation' =>
array (
'type' => 'isbefore',
'compareto' => 'enddate',
'blank' => true,
),