我希望在sugarcrm中的first_name字段的onblur上创建自定义代码。 代码也应该升级安全。 请帮忙!
答案 0 :(得分:0)
复制模块/ Contacts / metadata / editviewdefs.php
到
定制/模块/联系人/元数据/ editviewdefs.php (如果它尚不存在。如果是,请使用现有的)
此文件中的所有更改都是升级安全的。现在打开你的新文件,你会看到一个包含Contacts-module的EditView中所有内容的大数组。 在“templateMeta”数组中添加以下内容,例如,在“form”之后。
'includes'=> array(
array('file'=>'custom/modules/Contacts/EditView.js'),
),
这包括文件custom / modules / Contacts / EditView.js,您可以在其中自由编写您想要的所有JavaScript!
记得做一个快速修复&完成后重建。
答案 1 :(得分:0)
我不知道您使用的是哪个版本的SugarCRM,但在SugarCRM 7中,以下是有效的:
在/ custom / modules / Contacts / clients / base / views / record /中创建文件'record.js'。在该文件中,您可以添加自定义验证。
您可以使用的一些代码是:
({
extendsFrom: 'YourModuleRecordView',
initialize: function (options) {
app.error.errorName2Keys['field_error'] = 'This is an error message';
this._super('initialize', [options]);
this.model.addValidationTask('check_field', _.bind(this._doValidateField, this));
},
_doValidateField: function(fields, errors, callback) {
if (this.model.get('myField') .... ) {
errors['myField'] = errors['myField'] || {};
errors['myField'].field_error = true;
}
callback(null, fields, errors);
}
});
不要忘记更改您命名的字段名称! 此结果仅适用于编辑模式。要将此验证添加到创建模式,请将文件'create_actions.js'添加到/ custom / modules / Contacts / clients / base / views / create_actions /
在'create_actions.js'中输入以下代码:
({
extendsFrom: 'CreateActionsView',
initialize: function (options) {
app.error.errorName2Keys['field_error'] = 'Thsis is an error message';
this._super('initialize', [options]);
this.model.addValidationTask('check_field', _.bind(this._doValidateField, this));
},
_doValidateField: function(fields, errors, callback) {
if (.....) {
errors['myField'] = errors['myField'] || {};
errors['myField'].field_error = true;
}
callback(null, fields, errors);
}
});
使用正确的代码添加此文件时执行修复/重建。 您可以根据自己的需要自定义此代码。