gpt4 book ai didi

sugarcrm - SugarCRM 中的现场验证

转载 作者:行者123 更新时间:2023-12-02 19:39:16 27 4
gpt4 key购买 nike

我刚刚开始第一次使用 SugarCRM CE(版本 6.5.15(Build 1083))。添加新字段或模块时的易用性给我留下了深刻的印象,但似乎缺少一件不可或缺的事情:用户输入的验证。

例如,我想检查很多事情:

  • 使用某些正则表达式检查电子邮件地址是否具有有效格式
  • 检查邮政编码是否存在(也许可以调用 webswervice 来验证它)
  • 计算一下公民服务号码是否有效
  • 等等

我在工作室中似乎能做的唯一一件事就是使某个字段成为必需或不需要,似乎没有任何标准方法来对字段执行验证。

当我用谷歌搜索时,我能找到的只是很多侵入源代码的方法,比如:http://phpbugs.wordpress.com/2010/01/22/sugarcrm-adding-javascript-validation-on-form-submit/即使如此,我也没有找到任何实际进行验证的示例。

我是不是错过了什么?或者编辑源代码是添加此内容的唯一方法吗?

最佳答案

我认为 CE 版本中不提供“标准”验证。

令我惊讶的是,您无法在某处定义验证并将其附加到字段。我有点预料到了这一点,因为系统的其余部分结构非常好(模块、包等......)

例如,我现在创建了一张 11 支票,这是针对荷兰银行帐号的非常具体的支票。为了让它发挥作用,我做了以下操作(基于我在谷歌上搜索到的示例):

我将银行帐户添加到工作室中的联系人中,然后编辑了\custom\modules\Contacts\metadata\editviewdefs.php

我添加了以下片段:

'includes'=> array(
array('file'=>'custom/modules/Contacts/customJavascript.js')),




array (
0 =>
array(
'customCode' =>
'<input title="Save [Alt+S]" accessKey="S" onclick="this.form.action.value=\'Save\'; return check_custom_data();" type="submit" name="button" value="'.$GLOBALS['app_strings']['LBL_SAVE_BUTTON_LABEL']>',
),
1 =>
array(
'customCode' =>
'<input title="Cancel [Alt+X]" accessKey="X" onclick="this.form.action.value=\'index\'; this.form.module.value=\''.$module_name.'\'; this.form.record.value=\'\';" type="submit" name="button" value="'.$GLOBALS['app_strings']['LBL_CANCEL_BUTTON_LABEL'].'">'
)
),

在 customJavascript.js 中我放置了以下代码:

function check_custom_data()
{
if (!eleven_check(document.getElementById("bankaccount_c").value)){
alert ('Bank account not valid');
return false;
} else {
return check_form('EditView');
}

function eleven_check(bankaccount) {
bankaccount=bankaccount.replace(/\D/, "");
charcount=bankaccount.length;
var som=0;
for (i=1; i<10; i++) {
getal=bankaccount.charAt(i-1);
som+=getal*(10-i);
}
if (som % 11==0 && charcount==9) {
return true
} else {
return false
}
}

}

此检查现在按照我希望的方式工作,但我想知道这是否是添加验证的最佳方式。然而,这种添加验证的方式并不适合 PHP 验证,例如,如果我出于某种原因想要验证数据库中的某些数据,我将不得不使用 ajax 调用来完成此操作。

关于sugarcrm - SugarCRM 中的现场验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19184018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com