Sugarcrm 自定义字段的日期验证-SuiteRM 7.10.4版Sugar 6.5.25版(版本344)
在我的模块中有两个字段,名为:start_date_c和end_date_c,带有日期数据类型 这些字段不是必填字段,但当我将数据输入到“结束日期”字段时,我希望它不小于“开始日期” 我尝试了以下方法:Sugarcrm 自定义字段的日期验证-SuiteRM 7.10.4版Sugar 6.5.25版(版本344),sugarcrm,suitecrm,Sugarcrm,Suitecrm,在我的模块中有两个字段,名为:start_date_c和end_date_c,带有日期数据类型 这些字段不是必填字段,但当我将数据输入到“结束日期”字段时,我希望它不小于“开始日期” 我尝试了以下方法: 但由于我是SuiteRM的新手,我无法找到积极的回应您需要两件事 在要添加逻辑的模块中编辑文件editviewdefs.php。将第一个自定义字段添加到编辑视图时,此字段将自动生成 创建自定义JS逻辑以定义字段何时有效 此逻辑将为您的应用程序添加验证回调 addToValidateCa
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显示程序将无法工作,因此添加了updateCallback选项
现在,这种验证有两种方式
这将为您提供足够的灵活性来验证表单。简单且线性,请在任何JS文件中尝试以下内容(添加到模块编辑视图中):
为我工作。
我在modules/custom\u module/vardefs.php中的字段中添加了以下代码
'audited' => true,
'enable_range_search' => true,
并将以下内容添加到开始字段
'validation' =>
array (
'type' => 'isbefore',
'compareto' => 'enddate',
'blank' => true,
),
不,这对我不起作用。请让我知道我缺少什么我在custom\modules\Users\metadata\editview.dfs中尝试了以下操作我在字段数组'displayParams'=>array('javascript'=>'onblur=>“checkStatusOption(this)”,)下添加了以下代码,并在userEditView.js函数checkStatusOption(e)中添加了以下代码{my_logic}如果您计划允许此字段为空,我最好建议以相同的方式使用AddToValidateBeforeAllowBlank函数
'validation' =>
array (
'type' => 'isbefore',
'compareto' => 'enddate',
'blank' => true,
),