我的模块中有两个字段:start_date_c& end_date_c,日期数据类型
这些字段不是必填字段,但是当我在end_date_c字段中输入数据时,我想让它不低于start_date_c
我尝试了以下内容:
但由于我是suiteCRM的新手,我无法找到积极的回应
答案 0 :(得分:2)
你需要2件事
此逻辑将为您的
添加验证回调 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选项。
现在,此验证有两种方式。
这将为您提供足够的灵活性来验证表单。
答案 1 :(得分:0)
简单且一个线性,在任何JS文件中尝试跟随(在模块编辑视图中添加):
addToValidateDateBefore('EditView', 'start_date_c', 'date', false,'Date Start', 'end_date_c' );
答案 2 :(得分:0)
为我工作。
我将以下代码添加到modules / custom_module / vardefs.php中的字段
'audited' => true,
'enable_range_search' => true,
并将以下内容添加到开始字段
'validation' =>
array (
'type' => 'isbefore',
'compareto' => 'enddate',
'blank' => true,
),